From 345367599a486595cf69b16108cecfdff0011e24 Mon Sep 17 00:00:00 2001 From: Astound Date: Sun, 21 Jul 2024 07:59:22 +0800 Subject: [PATCH] Add Workflow --- .gitea/workflows/release.yaml | 81 +++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .gitea/workflows/release.yaml diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..de89db0 --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,81 @@ +name: release + +on: + schedule: + - cron: '0 0 * * *' + push: + branches: + - master + +jobs: + release-default: + runs-on: ubuntu-latest + container: + image: gitea/runner-images:ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 # all history for all branches and tags + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker BuildX + uses: docker/setup-buildx-action@v3 + + - name: Login to DockerHub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_REGISTRY_USER }} + password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }} + + - name: Check syntax docker + uses: hadolint/hadolint-action@v3.1.0 + with: + dockerfile: core/Dockerfile + ignore: DL3013,DL3018 + + - name: Get Meta + id: meta + run: | + echo IMAGE_VERSION=${GITHUB_REF_NAME#v} >> $GITHUB_OUTPUT + + - name: Build Docker image + id: build-image + uses: docker/build-push-action@v6 + with: + context: . + file: Dockerfile + platforms: | + linux/amd64 + linux/386 + push: false + no-cache: true + tags: | + ${{ secrets.DOCKER_REGISTRY_USER}}/hypermirror:latest + ${{ secrets.DOCKER_REGISTRY_USER}}/hypermirror:v${{ steps.meta.outputs.IMAGE_VERSION }} + + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@master + with: + image-ref: ${{ secrets.DOCKER_REGISTRY_USER}}/hypermirror:latest + format: 'table' + exit-code: '1' + ignore-unfixed: true + vuln-type: 'os' + severity: 'CRITICAL,HIGH' + + - name: Push Docker image + uses: docker/build-push-action@v6 + with: + context: . + file: Dockerfile + platforms: | + linux/amd64 + linux/386 + push: true + no-cache: false + tags: | + ${{ secrets.DOCKER_REGISTRY_USER}}/hypermirror:latest + ${{ secrets.DOCKER_REGISTRY_USER}}/hypermirror:v${{ steps.meta.outputs.IMAGE_VERSION }}