Merge branch 'main' into feat/secureli-373-use-custom-pre-commit-config #395
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will install Python dependencies, run tests and lint with a single version of Python | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | |
# These jobs are specifically designed to test the codebase | |
# and ensure that basic contributing from both mac and windows will work | |
name: Build & Test | |
on: | |
push: | |
branches-ignore: [ main ] | |
workflow_call: | |
jobs: | |
build-windows: | |
name: Windows | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Poetry | |
run: pip install poetry | |
- name: Set up Python 3.9 | |
id: setup-python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
cache: 'poetry' | |
- name: Set Up Project | |
run: | | |
poetry install | |
- name: Run Tests | |
run: | | |
poetry run poe precommit | |
# Both of these lines error when run on a windows image, more research required as to why | |
# poetry run poe coverage | |
# poetry run secureli build | |
build-linux: | |
name: Linux | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Validate Branch name | |
run: ./scripts/get-current-branch.sh | |
- name: Set up Poetry | |
run: pip install poetry | |
- name: Set up Python 3.9 | |
id: setup-python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
cache: 'poetry' | |
- name: Set Up Project | |
run: | | |
poetry install | |
- name: Install BATS for e2e tests | |
uses: bats-core/[email protected] | |
with: | |
support-path: ${{ github.workspace }}/bats-core/bats-support | |
assert-path: ${{ github.workspace }}/bats-core/bats-assert | |
detik-path: ${{ github.workspace }}/bats-core/bats-detik | |
file-path: ${{ github.workspace }}/bats-core/bats-file | |
- name: Run Tests | |
env: | |
BATS_LIBS_ROOT: ${{ github.workspace }}/bats-core | |
run: | | |
poetry run poe precommit | |
poetry run poe coverage | |
poetry run secureli build | |
poetry run poe e2e | |
secureli-release-noop: | |
name: Release Test | |
needs: [ build-linux, build-windows ] | |
if: github.ref != 'refs/heads/main' | |
runs-on: ubuntu-latest | |
concurrency: release | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Python Semantic Release | |
uses: relekang/python-semantic-release@master | |
with: | |
root_options: -vv --noop |