Skip to content

chore: update workflows #23

chore: update workflows

chore: update workflows #23

Workflow file for this run

name: Controller and Firmware tests CI
on:
push:
paths:
- 'firmware/**'
- 'controller/**'
workflow_dispatch:
jobs:
build-test:
runs-on: ubuntu-latest
environment: general
env:
ESP_CONTROLLER_SERVER_PORT: ${{ vars.ESP_CONTROLLER_SERVER_PORT }}
ESP_CONTROLLER_SERVER_HOST: ${{ vars.ESP_CONTROLLER_SERVER_HOST }}
ESP_WIFI_SSID: ${{ vars.ESP_WIFI_SSID }}
ESP_WIFI_PASSWORD: ${{ vars.ESP_WIFI_PASSWORD }}
CONTROLLER_WEBSOCKET_PORT: ${{ vars.CONTROLLER_WEBSOCKET_PORT }}
CONTROLLER_SERVER_PORT: ${{ vars.CONTROLLER_SERVER_PORT }}
BACKEND_HTTP_PORT: ${{ vars.BACKEND_HTTP_PORT }}
CONTROLLER_PDM_PUBLISH_PASSWORD: ${{ secrets.CONTROLLER_PDM_PUBLISH_PASSWORD }}
CONTROLLER_PDM_PUBLISH_USERNAME: ${{ secrets.CONTROLLER_PDM_PUBLISH_USERNAME }}
CONTROLLER_PDM_OVERRIDE_VERSION: 'none'
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Set Env File
run: printenv | grep -v "^\(PWD\|SHLVL\|HOME\)" > .env
- name: Install toml
run: pip install toml
- name: Build Controller Container
run: |
./manage.py build --container controller
- name: Build Firmware Container
run: |
./manage.py build --container firmware
- name: Lint Controller
run: ./manage.py lint --container controller
- name: Run Firmware and Controller Tests
run: ./manage.py test
- name: Publish Controller Package
if: github.ref == 'refs/heads/main'
run: ./manage.py publish-controller
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push Controller Container
if: github.ref == 'refs/heads/main'
run: ./manage.py docker-compose --container controller --op push
- name: Stop and remove containers
if: always()
run: |
./manage.py down --container controller
./manage.py down --container firmware