diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6944948..ca7938c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -37,63 +37,19 @@ jobs: check_if_version_upgraded: name: Check if version upgrade + if: github.event_name == 'push' runs-on: ubuntu-latest needs: build outputs: from_version: ${{ steps.step1.outputs.from_version }} to_version: ${{ steps.step1.outputs.to_version }} + is_upgraded_version: ${{ steps.step1.outputs.is_upgraded_version }} steps: - - uses: garronej/ts-ci@v1.1.7 + - uses: garronej/ts-ci@v2.1.0 id: step1 with: action_name: is_package_json_version_upgraded - - docker: - needs: - - check_if_version_upgraded - - build - runs-on: ubuntu-latest - # We publish the docker image only if it's a push on the default branch or if it's a PR from a - # branch (meaning not a PR from a fork). It would be more straightforward to test if secrets.DOCKERHUB_TOKEN is - # defined but GitHub Action don't allow it. - if: | - github.event_name == 'push' || - github.event.pull_request.head.repo.owner.login == github.event.pull_request.base.repo.owner.login - steps: - - uses: actions/checkout@v2 - - uses: docker/setup-qemu-action@v1 - - uses: docker/setup-buildx-action@v1 - - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Computing Docker image tags - id: step1 - env: - IS_UPGRADED_VERSION: ${{ needs.check_if_version_upgraded.outputs.is_upgraded_version }} - TO_VERSION: ${{ needs.check_if_version_upgraded.outputs.to_version }} - run: | - OUT=$GITHUB_REPOSITORY:$( - [ "$GITHUB_EVENT_NAME" == "pull_request" ] && - echo "$GITHUB_HEAD_REF" || - echo "${GITHUB_REF#refs/*/}" - ) - if [ "$IS_UPGRADED_VERSION" = "true" ]; then - OUT=$OUT,$GITHUB_REPOSITORY:$TO_VERSION,$GITHUB_REPOSITORY:latest - fi - OUT=$(echo "$OUT" | awk '{print tolower($0)}') - echo ::set-output name=docker_tags::$OUT - - uses: actions/download-artifact@v2 - with: - name: build - path: build - - run: tar -cvf build.tar ./build - - uses: docker/build-push-action@v2 - with: - push: true - context: . - tags: ${{ steps.step1.outputs.docker_tags }} - file: Dockerfile.ci + branch: ${{ github.head_ref || github.ref }} create_github_release: runs-on: ubuntu-latest @@ -124,6 +80,40 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + docker: + runs-on: ubuntu-latest + needs: + - check_if_version_upgraded + - create_github_release + steps: + - uses: actions/checkout@v2 + - uses: docker/setup-qemu-action@v1 + - uses: docker/setup-buildx-action@v1 + - uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Computing Docker image tags + id: step1 + env: + IS_UPGRADED_VERSION: ${{ needs.check_if_version_upgraded.outputs.is_upgraded_version }} + TO_VERSION: ${{ needs.check_if_version_upgraded.outputs.to_version }} + run: | + OUT=$GITHUB_REPOSITORY:$TO_VERSION,$GITHUB_REPOSITORY:latest + OUT=$(echo "$OUT" | awk '{print tolower($0)}') + echo ::set-output name=docker_tags::$OUT + - uses: actions/download-artifact@v2 + with: + name: build + path: build + - run: tar -cvf build.tar ./build + - uses: docker/build-push-action@v2 + with: + push: true + context: . + tags: ${{ steps.step1.outputs.docker_tags }} + file: Dockerfile.ci + github_pages_app: runs-on: ubuntu-latest needs: