Improved workflow
Some checks failed
Build and deploy / Build application (push) Successful in 6m13s
Check / Run checks (push) Failing after 3m33s
Build and deploy / Build container (push) Successful in 1m3s
Build and deploy / Deploy container (push) Has been skipped

This commit is contained in:
Dreaded_X 2024-06-15 04:23:44 +02:00
parent 54fa9f3b66
commit 875ecf13c8
Signed by: Dreaded_X
GPG Key ID: FA5F485356B0D2D4
2 changed files with 37 additions and 50 deletions

View File

@ -1,5 +1,5 @@
# Based on: https://pastebin.com/99Fq2b2w
name: Build and deploy automation_rs
name: Build and deploy
on:
push:
branches:
@ -7,49 +7,8 @@ on:
- feature/**
jobs:
check:
name: Run pre-commit checks
runs-on: ubuntu-latest
container: catthehacker/ubuntu:act-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup go
uses: actions/setup-go@v3
with:
go-version: ">=1.20.1"
- name: Calculate cache hash
uses: https://gitea.com/actions/go-hashfiles@v0.0.1
id: hash-go
with:
patterns: |
.pre-commit-config.yaml
- name: Setup cache
uses: actions/cache@v4
with:
path: ~/.cache/pre-commit
key: pre-commit-3|${{ steps.hash-go.outputs.hash }}
- name: Install pre-commit
run: python -m pip install pre-commit
shell: bash
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: ""
- name: Set rustup default
run: rustup default stable
shell: bash
- name: Run pre-commit
run: pre-commit run --show-diff-on-failure --color=always --all-files
shell: bash
build:
name: Build automation_rs
name: Build application
runs-on: ubuntu-latest
container: catthehacker/ubuntu:act-latest
steps:
@ -71,9 +30,9 @@ jobs:
path: target/x86_64-unknown-linux-gnu/release/automation
container:
name: Build Docker image
name: Build container
runs-on: ubuntu-latest
needs: [build, checks]
needs: [build]
container: catthehacker/ubuntu:act-latest
steps:
- name: Checkout
@ -89,6 +48,17 @@ jobs:
chown 65532:65532 ./build/*
chmod 0755 ./build/*
- name: Docker meta
id: meta
uses: https://github.com/docker/metadata-action@v5
with:
images: git.huizinga.dev/dreaded_x/automation_rs
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Login to registry
uses: https://github.com/docker/login-action@v3
with:
@ -100,12 +70,12 @@ jobs:
uses: https://github.com/docker/build-push-action@v5
with:
context: .
push: ${{ gitea.ref == 'refs/heads/master' }}
# TODO: Automatically add the correct tags here
tags: git.huizinga.dev/dreaded_x/automation_rs:latest
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
deploy:
name: Deploy Docker container
name: Deploy container
runs-on: ubuntu-latest
container: catthehacker/ubuntu:act-latest
needs: [container]
@ -127,7 +97,7 @@ jobs:
-e MQTT_PASSWORD=${{ secrets.MQTT_PASSWORD }} \
-e HUE_TOKEN=${{ secrets.HUE_TOKEN }} \
-e NTFY_TOPIC=${{ secrets.NTFY_TOPIC }} \
git.huizinga.dev/dreaded_x/automation_rs:latest
git.huizinga.dev/dreaded_x/automation_rs:master
docker network connect web automation_rs

View File

@ -0,0 +1,17 @@
name: Check
on:
push:
branches: "**"
jobs:
check:
name: Run checks
runs-on: ubuntu-latest
container: git.huizinga.dev/dreaded_x/pre-commit:master
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run pre-commit
run: SKIP=sqlx-prepare pre-commit run --show-diff-on-failure --color=always --all-files
shell: bash