diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 50ab87bc2..3b7f2ef7e 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -23,6 +23,9 @@ jobs: test: name: Test Modules runs-on: ubuntu-latest + permissions: + contents: read + id-token: write outputs: get_modules: ${{ steps.get_modules.outputs.modules }} services: @@ -46,7 +49,7 @@ jobs: uses: rlespinasse/github-slug-action@v4.x - name: INDEXA ${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL }} - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: ${{ env.GITHUB_REPOSITORY_SLUG_URL }} @@ -63,12 +66,31 @@ jobs: if: ${{ github.event.label.name == 'test all' }} run: | echo "WITHOUT_TEST_TAGS=1" >> $GITHUB_ENV + + + - name: Authenticate to Google Cloud + id: auth + uses: google-github-actions/auth@v2.1.3 + with: + project_id: '${{ vars.ITERATIVO_GCP_PROJECT }}' + workload_identity_provider: '${{ vars.ITERATIVO_GCP_WORKLOAD_IDENTITY }}' + service_account: '${{ vars.ITERATIVO_GCP_ARTIFACTS_SA }}' + token_format: access_token + + + - name: Login to Google Artifact Registry + uses: docker/login-action@v3.3.0 + with: + registry: gcr.io + username: oauth2accesstoken + password: ${{ steps.auth.outputs.access_token }} + - name: Run Odoo tests run: | - docker pull gcr.io/iterativo/dockerdoo:${{ env.GITHUB_BASE_REF_SLUG || env.GITHUB_REF_SLUG }} + docker pull gcr.io/${{ vars.ITERATIVO_GCP_PROJECT }}/iterativo/dockerdoo:${{ env.GITHUB_BASE_REF_SLUG || env.GITHUB_REF_SLUG }} docker run -e RUN_TESTS -e WITHOUT_TEST_TAGS -e PIP_AUTO_INSTALL -e LOG_LEVEL -e WITHOUT_DEMO -e EXTRA_MODULES -e ODOO_EXTRA_ADDONS -e PGHOST \ -v $GITHUB_WORKSPACE:/github/workspace \ - --network="host" --name odoo -t gcr.io/iterativo/dockerdoo:${{ env.GITHUB_BASE_REF_SLUG || env.GITHUB_REF_SLUG }} + --network="host" --name odoo -t gcr.io/${{ vars.ITERATIVO_GCP_PROJECT }}/iterativo/dockerdoo:${{ env.GITHUB_BASE_REF_SLUG || env.GITHUB_REF_SLUG }} env: RUN_TESTS: '1' WITHOUT_TEST_TAGS: ${{ env.WITHOUT_TEST_TAGS }} @@ -78,41 +100,4 @@ jobs: EXTRA_MODULES: ${{ steps.get_modules.outputs.modules }},${{ env.REQUIRED_MODULES }} ODOO_EXTRA_ADDONS: /github/workspace PGHOST: localhost - - - name: Zip modules for upload - run: sudo apt-get update && sudo apt-get install -y zip && zip -r modules.zip . - - - name: Upload repository results - uses: actions/upload-artifact@v2 - with: - name: modules - path: modules.zip - retention-days: 1 - - build-gcp: - name: Build & Push to GCR - needs: ['test'] - runs-on: ubuntu-latest - if: ${{ github.event_name == 'pull_request' }} - - steps: - - name: Download repository results - uses: actions/download-artifact@v2 - with: - name: modules - - - run: unzip modules.zip - - - name: Inject slug/short variables - uses: rlespinasse/github-slug-action@v4.x - - - name: Push to Google Cloud Registry - uses: docker/build-push-action@v1 - with: - dockerfile: ${{ env.GITHUB_REPOSITORY_SLUG_URL }}/Dockerfile - cache_froms: docker.pkg.github.com/${{ github.repository }}/${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL }}:${{ env.GITHUB_HEAD_REF_SLUG_URL }} - username: _json_key - password: ${{ secrets.GKE_SA_KEY }} - registry: gcr.io - repository: ${{ secrets.GKE_PROJECT }}/${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG_URL }} - tags: ${{ env.GITHUB_SHA_SHORT }} + \ No newline at end of file