name: Backend Pipeline on: workflow_call: inputs: task-version: required: true type: string env: ROTINI_CI: 1 jobs: setup: runs-on: ubuntu-latest name: Setup defaults: run: working-directory: backend steps: - uses: actions/checkout@v3 - 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 defaults: run: working-directory: backend steps: - uses: actions/checkout@v3 - 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 defaults: run: working-directory: backend steps: - uses: actions/checkout@v3 - 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