1+ name : Docker E2E Weekly
2+
3+ on :
4+ # Trigger every Friday at 00:00 UTC. You can adjust the cron expression as needed.
5+ schedule :
6+ - cron : ' 0 0 * * 5'
7+ # Allow manual triggering from the Actions tab (useful for testing).
8+ workflow_dispatch :
9+
10+ jobs :
11+ build-and-push :
12+ runs-on :
13+ group : scroll-reth-runner-group
14+ permissions : {}
15+
16+ steps :
17+ - name : Checkout code
18+ uses : actions/checkout@v4
19+ with :
20+ persist-credentials : false
21+
22+ - name : Set up QEMU
23+ uses : docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
24+
25+ - name : Set up Docker Buildx
26+ uses : docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
27+ with :
28+ cache-binary : false
29+
30+ - name : Extract docker metadata
31+ id : meta
32+ uses : docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
33+ with :
34+ images : scrolltech/rollup-node
35+ # Force the tag to be 'e2e-test'
36+ tags : |
37+ type=raw,value=e2e-test
38+ flavor : |
39+ latest=false
40+
41+ - name : Login to Docker Hub
42+ uses : docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
43+ with :
44+ username : ${{ secrets.DOCKERHUB_USERNAME }}
45+ password : ${{ secrets.DOCKERHUB_TOKEN }}
46+
47+ - name : Build and push docker image
48+ uses : docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
49+ with :
50+ context : .
51+ file : Dockerfile
52+ push : true
53+ tags : ${{ steps.meta.outputs.tags }}
54+ labels : ${{ steps.meta.outputs.labels }}
55+ # Use a separate cache scope to avoid polluting the production build cache
56+ # cache-from: type=gha,scope=${{ github.workflow }}-e2e
57+ # cache-to: type=gha,scope=${{ github.workflow }}-e2e
0 commit comments