diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ddfa4d0 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,45 @@ +name: shisui release image + +on: + release: + types: [created] + +defaults: + run: + shell: bash + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: write + +env: + releaseBuild: ${{ github.event_name == 'push' && contains(github.ref, 'refs/tags/') }} + REGISTRY: ghcr.io + TAG_NAME: ${{ github.ref | replace('refs/tags/', '') }} + +jobs: + push_image_to_github: + name: Push Docker image to Github + runs-on: ubuntu-latest + permissions: write-all + if: ${{ env.releaseBuild == 'true' }} # Only run this job if releaseBuild is true + steps: + - name: Check out the repo + uses: actions/checkout@v4 + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ env.REGISTRY }}/${{ github.repository }}:${{ env.TAG_NAME }} \ No newline at end of file