From 2dd42957159043bc128451229a002b829fa4f241 Mon Sep 17 00:00:00 2001 From: ttionya Date: Thu, 9 Mar 2023 22:56:31 +0800 Subject: [PATCH] chore: update GitHub Actions --- .github/workflows/docker-description.yml | 2 + .github/workflows/docker-publish-beta.yml | 41 ------- .github/workflows/docker-publish-schedule.yml | 54 --------- .github/workflows/docker-publish.yml | 104 +++++++++++++++++- .github/workflows/github-release.yml | 13 +-- .github/workflows/schedule.yml | 22 ---- .github/workflows/sync.yml | 6 + 7 files changed, 112 insertions(+), 130 deletions(-) delete mode 100644 .github/workflows/docker-publish-beta.yml delete mode 100644 .github/workflows/docker-publish-schedule.yml delete mode 100644 .github/workflows/schedule.yml diff --git a/.github/workflows/docker-description.yml b/.github/workflows/docker-description.yml index d827600..2e5542f 100644 --- a/.github/workflows/docker-description.yml +++ b/.github/workflows/docker-description.yml @@ -11,7 +11,9 @@ on: jobs: sync: name: Docker README.md Sync + runs-on: ubuntu-latest + steps: - name: Checkout diff --git a/.github/workflows/docker-publish-beta.yml b/.github/workflows/docker-publish-beta.yml deleted file mode 100644 index 335f946..0000000 --- a/.github/workflows/docker-publish-beta.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: 'Docker Publish Beta' - -on: - push: - tags: - - 'v*.*.*-*' - -jobs: - publish: - name: Docker Publish Beta - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v3 - - - name: Prepare - id: pre - run: echo ::set-output name=tag::${GITHUB_REF#refs/tags/v} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push - uses: docker/build-push-action@v4 - with: - context: '.' - file: './Dockerfile' - platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7' - push: true - tags: | - ttionya/vaultwarden-backup:${{ steps.pre.outputs.tag }} diff --git a/.github/workflows/docker-publish-schedule.yml b/.github/workflows/docker-publish-schedule.yml deleted file mode 100644 index 7f268f3..0000000 --- a/.github/workflows/docker-publish-schedule.yml +++ /dev/null @@ -1,54 +0,0 @@ -name: 'Docker Publish Schedule' - -on: - schedule: - - cron: '0 0 10,20,30 * *' - -jobs: - publish: - name: Docker Publish Schedule - runs-on: ubuntu-latest - steps: - - - name: Get Tag - id: tag - uses: pozetroninc/github-action-get-latest-release@v0.7.0 - with: - repository: ${{ github.repository }} - excludes: prerelease, draft - - - name: Checkout - uses: actions/checkout@v3 - with: - ref: refs/tags/${{ steps.tag.outputs.release }} - - - name: Prepare - id: pre - run: | - TAG=${{ steps.tag.outputs.release }} - echo ::set-output name=tag::${TAG#v} - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push - uses: docker/build-push-action@v4 - with: - context: '.' - file: './Dockerfile' - platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7' - push: true - tags: | - ttionya/vaultwarden-backup:latest - ttionya/vaultwarden-backup:${{ steps.pre.outputs.tag }} - ttionya/bitwardenrs-backup:latest - ttionya/bitwardenrs-backup:${{ steps.pre.outputs.tag }} diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index d25cbbf..53f1e73 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -4,20 +4,24 @@ on: push: tags: - 'v*.*.*' - - '!v*.*.*-*' + schedule: + - cron: '0 0 10,20,30 * *' jobs: - publish: + publish-stable: name: Docker Publish + runs-on: ubuntu-latest + + if: ${{ github.event_name != 'schedule' && !contains(github.ref, '-') }} + steps: - name: Checkout uses: actions/checkout@v3 - name: Prepare - id: pre - run: echo ::set-output name=tag::${GITHUB_REF#refs/tags/v} + run: echo "TAG=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v2 @@ -40,6 +44,94 @@ jobs: push: true tags: | ttionya/vaultwarden-backup:latest - ttionya/vaultwarden-backup:${{ steps.pre.outputs.tag }} + ttionya/vaultwarden-backup:${{ env.TAG }} ttionya/bitwardenrs-backup:latest - ttionya/bitwardenrs-backup:${{ steps.pre.outputs.tag }} + ttionya/bitwardenrs-backup:${{ env.TAG }} + + publish-beta: + name: Docker Publish Beta + + runs-on: ubuntu-latest + + if: ${{ github.event_name != 'schedule' && contains(github.ref, '-') }} + + steps: + - + name: Checkout + uses: actions/checkout@v3 + - + name: Prepare + run: echo "TAG=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v4 + with: + context: '.' + file: './Dockerfile' + platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7' + push: true + tags: | + ttionya/vaultwarden-backup:${{ env.TAG }} + + publish-schedule: + name: Docker Publish Schedule + + runs-on: ubuntu-latest + + if: ${{ github.event_name == 'schedule' }} + + steps: + - + name: Get Tag + id: tag + uses: pozetroninc/github-action-get-latest-release@v0.7.0 + with: + repository: ${{ github.repository }} + excludes: prerelease, draft + - + name: Checkout + uses: actions/checkout@v3 + with: + ref: refs/tags/${{ steps.tag.outputs.release }} + - + name: Prepare + run: | + TAG=${{ steps.tag.outputs.release }} + echo "TAG=${TAG#v}" >> $GITHUB_ENV + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v4 + with: + context: '.' + file: './Dockerfile' + platforms: 'linux/amd64,linux/arm64,linux/arm/v6,linux/arm/v7' + push: true + tags: | + ttionya/vaultwarden-backup:latest + ttionya/vaultwarden-backup:${{ env.TAG }} + ttionya/bitwardenrs-backup:latest + ttionya/bitwardenrs-backup:${{ env.TAG }} diff --git a/.github/workflows/github-release.yml b/.github/workflows/github-release.yml index 014d124..e5d4d43 100644 --- a/.github/workflows/github-release.yml +++ b/.github/workflows/github-release.yml @@ -6,23 +6,22 @@ on: - 'v*.*.*' - '!v*.*.*-*' +permissions: + contents: write + jobs: release: name: Create Release + runs-on: ubuntu-latest + steps: - name: Checkout uses: actions/checkout@v3 - name: Release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: softprops/action-gh-release@v1 with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: false - prerelease: false body: | [CHANGELOG](https://github.com/ttionya/vaultwarden-backup/blob/master/CHANGELOG.md) diff --git a/.github/workflows/schedule.yml b/.github/workflows/schedule.yml deleted file mode 100644 index 675e928..0000000 --- a/.github/workflows/schedule.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: 'Schedule' - -on: - schedule: - - cron: '0 0,6,12,18 * * *' - -jobs: - gitee: - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Sync - uses: ttionya/Repository-Sync-Hub@v1 - with: - target_repository: 'https://gitee.com/ttionya/vaultwarden-backup.git' - http_access_name: 'ttionya' - http_access_token: ${{ secrets.GITEE_HTTP_ACCESS_TOKEN }} diff --git a/.github/workflows/sync.yml b/.github/workflows/sync.yml index 894e954..b2c2b7a 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync.yml @@ -3,11 +3,17 @@ name: 'Sync' on: push: delete: + schedule: + - cron: '0 9 * * *' jobs: gitee: + name: Sync to Gitee + runs-on: ubuntu-latest + if: ${{ github.actor != 'dependabot[bot]' }} + steps: - name: Checkout