From 4bd5a774f19829c01b79fbca836a20cd13618601 Mon Sep 17 00:00:00 2001 From: Roy Crihfield Date: Thu, 21 Sep 2023 15:25:52 +0800 Subject: [PATCH] Make CI publish workflow manual only --- .github/workflows/on-pr-publish.yaml | 52 ---------------------------- .github/workflows/publish.yaml | 28 +++++++++++++++ 2 files changed, 28 insertions(+), 52 deletions(-) delete mode 100644 .github/workflows/on-pr-publish.yaml create mode 100644 .github/workflows/publish.yaml diff --git a/.github/workflows/on-pr-publish.yaml b/.github/workflows/on-pr-publish.yaml deleted file mode 100644 index ef72b7ff..00000000 --- a/.github/workflows/on-pr-publish.yaml +++ /dev/null @@ -1,52 +0,0 @@ -name: Test, Build, and/or Publish -on: - release: - types: [published] - pull_request: - -jobs: - pre_job: - # continue-on-error: true # Uncomment once integration is finished - runs-on: ubuntu-latest - # Map a step output to a job output - outputs: - should_skip: ${{ steps.skip_check.outputs.should_skip }} - steps: - - id: skip_check - uses: fkirc/skip-duplicate-actions@v4 - with: - # All of these options are optional, so you can remove them if you are happy with the defaults - concurrent_skipping: "never" - skip_after_successful_duplicate: "true" - do_not_skip: '["workflow_dispatch", "schedule"]' - run-tests: - uses: ./.github/workflows/tests.yaml - if: false # see tests.yaml - # if: ${{ needs.pre_job.outputs.should_skip != 'true' }} - needs: pre_job - build: - name: Run docker build - runs-on: ubuntu-latest - needs: run-tests - if: | - always() && - (needs.run-tests.result == 'success' || needs.run-tests.result == 'skipped') && - github.event_name == 'release' - steps: - - uses: actions/checkout@v3 - - id: vars - name: Output SHA and version tag - run: | - echo sha=$(echo ${GITHUB_SHA:0:7}) >> "$GITHUB_OUTPUT" - echo tag=$(echo ${GITHUB_REF#refs/tags/}) >> "$GITHUB_OUTPUT" - - name: Build and tag Docker image - run: | - docker build . \ - -t cerc-io/ipld-eth-server \ - -t git.vdb.to/cerc-io/ipld-eth-server/ipld-eth-server:${{steps.vars.outputs.sha}} \ - -t git.vdb.to/cerc-io/ipld-eth-server/ipld-eth-server:${{steps.vars.outputs.tag}} - - name: Push Docker tags - run: | - echo ${{ secrets.GITEA_PUBLISH_TOKEN }} | docker login https://git.vdb.to -u cerccicd --password-stdin - docker push git.vdb.to/cerc-io/ipld-eth-server/ipld-eth-server:${{steps.vars.outputs.sha}} - docker push git.vdb.to/cerc-io/ipld-eth-server/ipld-eth-server:${{steps.vars.outputs.tag}} diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 00000000..e7edee34 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,28 @@ +name: Publish Docker image +on: + release: + types: [published, edited] +jobs: + build: + name: Build and publish image + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - id: vars + name: Output SHA and version tag + run: | + echo "sha=${GITHUB_SHA:0:7}" >> $GITHUB_OUTPUT + echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + - name: Build and tag Docker image + env: + GIT_VDBTO_TOKEN: ${{ secrets.CICD_REPO_TOKEN }} + run: | + docker build . \ + --build-arg GIT_VDBTO_TOKEN \ + -t git.vdb.to/cerc-io/ipld-eth-server/ipld-eth-server:${{steps.vars.outputs.sha}} \ + -t git.vdb.to/cerc-io/ipld-eth-server/ipld-eth-server:${{steps.vars.outputs.tag}} + - name: Push Docker tags + run: | + echo ${{ secrets.GITEA_PUBLISH_TOKEN }} | docker login https://git.vdb.to -u cerccicd --password-stdin + docker push git.vdb.to/cerc-io/ipld-eth-server/ipld-eth-server:${{steps.vars.outputs.sha}} + docker push git.vdb.to/cerc-io/ipld-eth-server/ipld-eth-server:${{steps.vars.outputs.tag}}