This repository has been archived on 2024-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
rotini/.github/workflows/backend-pipeline.yml
renovate[bot] 5fedafd64f
chore(deps): update actions/checkout action to v4 (#45)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-26 21:52:54 -05:00

112 lines
3.1 KiB
YAML

name: Backend Pipeline
on:
workflow_call:
inputs:
task-version:
required: true
type: string
outputs:
pipeline-success:
value: ${{ jobs.notify-success.outputs.pipeline_success }}
env:
ROTINI_CI: 1
defaults:
run:
working-directory: backend
jobs:
setup:
runs-on: ubuntu-latest
name: Setup
steps:
- uses: actions/checkout@v4
- name: get-python-version
run: |
echo "python_version=$(cat .python-version)" >> $GITHUB_OUTPUT
- uses: actions/setup-python@v3
with:
python-version: ${{ steps.get-python-version.outputs.python_version }}
- uses: actions/cache@v3
id: cache-restore
with:
path: |
backend/.venv
key: ${{ runner.os }}-${{ hashFiles('**/requirements*.txt') }}-${{ steps.get-python-version.outputs.python_version }}
- name: Install dependencies
if: steps.cache-restore.outputs.cache-hit != 'true'
run: . script/bootstrap
lint:
runs-on: ubuntu-latest
name: Lint
needs: setup
steps:
- uses: actions/checkout@v4
- name: get-python-version
run: |
echo "python_version=$(cat .python-version)" >> $GITHUB_OUTPUT
- uses: actions/setup-python@v3
with:
python-version: ${{ steps.get-python-version.outputs.python_version }}
- name: Setup Task
uses: arduino/setup-task@v1
with:
version: ${{ inputs.task-version }}
- uses: actions/cache@v3
id: cache-restore
with:
path: |
backend/.venv
key: ${{ runner.os }}-${{ hashFiles('**/requirements*.txt') }}-${{ steps.get-python-version.outputs.python_version }}
- name: Lint
run: |
task be:lint
test:
runs-on: ubuntu-latest
name: Test
needs: setup
steps:
- uses: actions/checkout@v4
- name: get-python-version
run: |
echo "python_version=$(cat .python-version)" >> $GITHUB_OUTPUT
- uses: actions/setup-python@v3
with:
python-version: ${{ steps.get-python-version.outputs.python_version }}
- name: Setup Task
uses: arduino/setup-task@v1
with:
version: ${{ inputs.task-version }}
- uses: actions/cache@v3
id: cache-restore
with:
path: |
backend/.venv
key: ${{ runner.os }}-${{ hashFiles('**/requirements*.txt') }}-${{ steps.get-python-version.outputs.python_version }}
- name: Test
run: |
task be:test
docker-build:
runs-on: ubuntu-latest
name: Build Development Docker Image
steps:
- uses: actions/checkout@v4
- name: Setup Task
uses: arduino/setup-task@v1
with:
version: ${{ inputs.task-version }}
- name: Build
run: |
task be:docker-build
notify-success:
runs-on: ubuntu-latest
name: Notify success
needs: [lint, test]
steps:
- id: set-output
working-directory: /
run: echo "pipeline_success=true" >> "$GITHUB_OUTPUT"
outputs:
pipeline_success: ${{ steps.set-output.outputs.pipeline_success }}