Skip to content

Commit

Permalink
Add workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
winstonsmith1897 committed Sep 14, 2023
1 parent 5152265 commit 351aa26
Show file tree
Hide file tree
Showing 4 changed files with 149 additions and 1 deletion.
33 changes: 33 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: temperature-monitor

on:
push:
branches:
- master

jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to GitHub container registry (ghcr.io)
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v4
with:
platforms: linux/amd64, linux/arm64
push: true
tags: ghcr.io/sifis-home/temperature-monitor:latest
build-args: |
COMMIT_ID=${{ github.sha }}
109 changes: 109 additions & 0 deletions .github/workflows/temperature-monitor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: temperature-monitor

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
reuse:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: REUSE Compliance Check
uses: fsfe/reuse-action@v1

static-code-analysis:

env:
RCA_LINK: https://github.com/mozilla/rust-code-analysis/releases/download
RCA_VERSION: v0.0.25

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Install rust-code-analysis
run: |
mkdir -p $HOME/.local/bin
curl -L "$RCA_LINK/$RCA_VERSION/rust-code-analysis-linux-cli-x86_64.tar.gz" |
tar xz -C $HOME/.local/bin
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Run rust-code-analysis
run: |
mkdir $HOME/rca-json
rust-code-analysis-cli --metrics -O json --pr -o "$HOME/rca-json" -p $PWD
- name: Upload rust-code-analysis json
uses: actions/upload-artifact@v3
with:
name: rca-json
path: ~/rca-json

style:

needs: [reuse, static-code-analysis]

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up last Python version
uses: actions/setup-python@v2

- name: Install poetry
run: |
pip install poetry
- name: Install dependencies
run: |
poetry install
- name: Run pre-commit
run: |
poetry run pre-commit run -a
tests:

needs: [reuse, static-code-analysis, style]

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up last Python version
uses: actions/setup-python@v2
with:
python-version: '3.10'

- name: Install poetry
run: |
pip install poetry
- name: Install dependencies
run: |
poetry install
- name: Run tests and Compute code coverage
run: |
poetry run coverage run -m pytest
poetry run coverage report -m
- name: Create Codecov report
run: |
poetry run coverage lcov
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v3
with:
files: coverage.lcov
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Ignore dotfiles except for the .gitignore dotfile
.*
!.gitignore
!.pre-commit-config.yaml
!.gitmodules
Expand Down
7 changes: 7 additions & 0 deletions .reuse/dep5
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: temperature-monitor
Source: https://github.com/sifis-home/temperature-monitor

Files: *
Copyright: 2022 sifis-home
License: MIT

0 comments on commit 351aa26

Please sign in to comment.