diff options
Diffstat (limited to '.github/workflows/push.yml')
-rw-r--r-- | .github/workflows/push.yml | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml new file mode 100644 index 0000000..598e5a0 --- /dev/null +++ b/.github/workflows/push.yml | |||
@@ -0,0 +1,58 @@ | |||
1 | name: build | ||
2 | |||
3 | on: | ||
4 | push: | ||
5 | branches: [ "main" ] | ||
6 | workflow_dispatch: | ||
7 | |||
8 | env: | ||
9 | SCCACHE_GHA_ENABLED: "true" | ||
10 | RUSTC_WRAPPER: "sccache" | ||
11 | SQLX_OFFLINE: "true" | ||
12 | CARGO_TERM_COLOR: always | ||
13 | |||
14 | jobs: | ||
15 | build: | ||
16 | runs-on: ubuntu-latest | ||
17 | steps: | ||
18 | - name: Run sccache-cache | ||
19 | uses: mozilla-actions/[email protected] | ||
20 | |||
21 | - uses: actions/checkout@v4 | ||
22 | - uses: actions-rs/toolchain@v1 | ||
23 | with: | ||
24 | toolchain: stable | ||
25 | components: rustfmt, clippy | ||
26 | override: true | ||
27 | |||
28 | - name: Run cargo check | ||
29 | uses: actions-rs/cargo@v1 | ||
30 | with: | ||
31 | command: check | ||
32 | |||
33 | - name: Run Clippy | ||
34 | uses: actions-rs/cargo@v1 | ||
35 | with: | ||
36 | command: clippy | ||
37 | |||
38 | - name: Set up QEMU | ||
39 | uses: docker/setup-qemu-action@v3 | ||
40 | - name: Set up Docker Buildx | ||
41 | uses: docker/setup-buildx-action@v2 | ||
42 | - name: Login to DockerHub | ||
43 | uses: docker/login-action@v2 | ||
44 | with: | ||
45 | registry: ghcr.io | ||
46 | username: ${{ github.actor }} | ||
47 | password: ${{ secrets.GITHUB_TOKEN }} | ||
48 | - name: Build and push | ||
49 | id: docker_build | ||
50 | uses: docker/build-push-action@v3 | ||
51 | with: | ||
52 | push: true | ||
53 | platforms: linux/amd64,linux/arm64 | ||
54 | cache-from: type=gha | ||
55 | cache-to: type=gha,mode=max | ||
56 | tags: | | ||
57 | ghcr.io/fxqnlr/webol:dev-latest | ||
58 | ghcr.io/fxqnlr/webol:dev-${{ github.run_number }} | ||