name: CI Pipeline run-name: Build and Publish Pipeline runs-on: ubuntu-latest on: pull_request: branches: - main jobs: test: name: Test runs-on: ubuntu-latest steps: - name: Checkout Code uses: actions/checkout@v3 - name: Setup Environment uses: https://github.com/actions/setup-python@v3 with: python-verison: "3.12" architecture: "x64" - name: Install Packages run: | pip install poetry poetry install - name: PEP8 Check run: | poetry run flake8 ./src --benchmark - name: Type Check run: | poetry run mypy ./src --disable-error-code=import-untyped publish: name: Build and Publish runs-on: ubuntu-latest needs: [test] steps: - name: Checkout Code uses: actions/checkout@v3 - name: Set Environment Variables run: | echo $(git rev-parse --short ${{ gitea.sha }}) echo "sha_short=$(git rev-parse --short ${{ gitea.sha }} )" >> "$GITHUB_ENV" - name: Show Environment Variables run: | echo "DOCKER_REPO_URL: ${{ vars.docker_repo_url }}" echo "REPOSITORY: ${{ gitea.repository }}" echo "COMMIT_SHA: ${{ env.sha_short }}" - name: Build and Push Image uses: docker/build-push-action@v2 with: context: . push: true tags: ${{vars.docker_repo_url}}/${{gitea.repository}}:latest