fix: modify image push policy (#377)

Signed-off-by: Товарищ <2962928213@qq.com>
This commit is contained in:
Товарищ программист 2021-12-18 20:44:27 +08:00 committed by GitHub
parent 00f06930ba
commit 3355f8644e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,6 +14,7 @@ jobs:
- run: yarn install && CI=false yarn run build - run: yarn install && CI=false yarn run build
working-directory: ./web working-directory: ./web
backend: backend:
name: Back-end name: Back-end
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -28,8 +29,8 @@ jobs:
go build -race -ldflags "-extldflags '-static'" go build -race -ldflags "-extldflags '-static'"
working-directory: ./ working-directory: ./
release: release-and-push:
name: Release name: Release And Push
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'casbin/casdoor' && github.event_name == 'push' if: github.repository == 'casbin/casdoor' && github.event_name == 'push'
needs: [ frontend, backend ] needs: [ frontend, backend ]
@ -42,26 +43,52 @@ jobs:
uses: actions/setup-node@v2 uses: actions/setup-node@v2
with: with:
node-version: 12 node-version: 12
- name: Fetch Previous version
id: get-previous-tag
uses: actions-ecosystem/action-get-latest-tag@v1
- name: Release - name: Release
run: yarn global add semantic-release@17.4.4 && semantic-release run: yarn global add semantic-release@17.4.4 && semantic-release
env: env:
GH_TOKEN: ${{ secrets.GH_BOT_TOKEN }} GH_TOKEN: ${{ secrets.GH_BOT_TOKEN }}
publish: - name: Fetch Current version
name: Publish id: get-current-tag
runs-on: ubuntu-latest uses: actions-ecosystem/action-get-latest-tag@v1
if: github.repository == 'casbin/casdoor' && github.event_name == 'push'
needs: release - name: Decide Should_Push Or Not
steps: id: should_push
- name: Check out the repo run: |
uses: actions/checkout@v2 old_version=${{steps.get-previous-tag.outputs.tag}}
new_version=${{steps.get-current-tag.outputs.tag }}
old_array=(${old_version//\./ })
new_array=(${new_version//\./ })
if [ ${old_array[0]} != ${new_array[0]} ]
then
echo ::set-output name=push::'true'
elif [ ${old_array[1]} != ${new_array[1]} ]
then
echo ::set-output name=push::'true'
else
echo ::set-output name=push::'false'
fi
- name: Log in to Docker Hub - name: Log in to Docker Hub
uses: docker/login-action@v1 uses: docker/login-action@v1
if: github.repository == 'casbin/casdoor' && github.event_name == 'push' &&steps.should_push.outputs.push=='true'
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }} password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Push to Docker Hub - name: Push to Docker Hub
uses: docker/build-push-action@v2 uses: docker/build-push-action@v2
if: github.repository == 'casbin/casdoor' && github.event_name == 'push' && steps.should_push.outputs.push=='true'
with: with:
push: true push: true
tags: casbin/casdoor:latest tags: casbin/casdoor:${{steps.get-current-tag.outputs.tag }}