diff options
author | Astound <kirito@disroot.org> | 2024-07-19 13:09:38 +0800 |
---|---|---|
committer | Astound <kirito@disroot.org> | 2024-07-19 13:09:38 +0800 |
commit | 20cd5d93a73d712391cc2f363c84fdb63a7283bf (patch) | |
tree | bdb04af5206b44230c697a75600fa49a5c966390 /.gitea/workflows/release.yaml | |
parent | 868178b43cb20d72faa39bf71da1449e71654765 (diff) | |
download | yt-local-docker-20cd5d93a73d712391cc2f363c84fdb63a7283bf.tar.lz yt-local-docker-20cd5d93a73d712391cc2f363c84fdb63a7283bf.tar.xz yt-local-docker-20cd5d93a73d712391cc2f363c84fdb63a7283bf.zip |
Add workflows
Diffstat (limited to '.gitea/workflows/release.yaml')
-rw-r--r-- | .gitea/workflows/release.yaml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..5690b7a --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,88 @@ +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 + + - 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: Build Docker image + id: build-image + uses: docker/build-push-action@v6 + with: + context: core + file: core/Dockerfile + platforms: | + linux/amd64 + linux/386 + push: false + no-cache: true + tags: | + ${{ secrets.DOCKER_REGISTRY_USER}}/yt-local:latest + ${{ secrets.DOCKER_REGISTRY_USER}}/yt-local:v0.2.18 + + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@master + with: + image-ref: ${{ secrets.DOCKER_REGISTRY_USER}}/yt-local:latest + format: 'table' + exit-code: '1' + ignore-unfixed: true + vuln-type: 'os' + severity: 'CRITICAL,HIGH' + + - name: Run Docker container + id: run_container + run: | + docker run --rm -d --name yt_local_${{ gitea.sha }} ${{ secrets.DOCKER_REGISTRY_USER }}/yt-local:latest + + - name: Test Docker container + run: | + sleep 15 + docker exec yt_local_${{ gitea.sha }} curl -o /dev/null -s -w "%{http_code}\n" http://127.0.0.1:8080/youtube.com || exit 1 + + - name: Clean up + if: always() + run: docker stop yt_local_${{ gitea.sha }} + + - name: Push Docker image + uses: docker/build-push-action@v6 + with: + context: core + file: core/Dockerfile + platforms: | + linux/amd64 + linux/386 + push: true + no-cache: false + tags: | + ${{ secrets.DOCKER_REGISTRY_USER}}/yt-local:latest + ${{ secrets.DOCKER_REGISTRY_USER}}/yt-local:v0.2.18 |