Skip to content

Commit a057437

Browse files
committed
Split CI to simplify configs
1 parent 160de35 commit a057437

4 files changed

Lines changed: 146 additions & 130 deletions

File tree

.github/workflows/checks.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Docs and lint checks
2+
on: push
3+
4+
jobs:
5+
checks:
6+
runs-on: ubuntu-latest
7+
name: Extra checks
8+
steps:
9+
- uses: actions/checkout@v4
10+
11+
- uses: erlef/setup-beam@v1
12+
with:
13+
otp-version: 28
14+
elixir-version: 1.19
15+
16+
- name: Retrieve Mix Dependencies Cache
17+
uses: actions/cache@v3
18+
id: mix-cache
19+
with:
20+
path: deps
21+
key: ${{ runner.os }}-28-1.19-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
22+
23+
- run: mix deps.get
24+
- run: mix compile
25+
- run: mix docs
26+
- run: mix format --check-formatted
27+
- run: mix deps.unlock --check-unused
28+
- run: mix hex.build
29+
- run: mix credo -a
30+
- run: mix dialyzer

.github/workflows/ci.yml

Lines changed: 0 additions & 130 deletions
This file was deleted.

.github/workflows/linux.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Linux builds
2+
on: push
3+
4+
jobs:
5+
test:
6+
runs-on: ubuntu-latest
7+
name: Linux / OTP ${{matrix.beam.otp}} / Elixir ${{matrix.beam.elixir}}
8+
strategy:
9+
matrix:
10+
beam:
11+
- { otp: '28', elixir: '1.19' }
12+
- { otp: '28', elixir: '1.18' }
13+
- { otp: '27', elixir: '1.17' }
14+
- { otp: '26', elixir: '1.16' }
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- uses: erlef/setup-beam@v1
19+
with:
20+
otp-version: ${{ matrix.beam.otp }}
21+
elixir-version: ${{ matrix.beam.elixir }}
22+
23+
- name: Retrieve tty0tty Cache
24+
uses: actions/cache@v3
25+
id: tty0tty-cache
26+
with:
27+
path: tty0tty
28+
key: tty0tty
29+
30+
- name: Install tty0tty
31+
if: steps.tty0tty-cache.outputs.cache-hit != 'true'
32+
run: |
33+
git clone https://github.com/freemed/tty0tty.git
34+
35+
- name: Set up tty0tty
36+
run: |
37+
cd tty0tty/module
38+
make
39+
sudo cp tty0tty.ko /lib/modules/$(uname -r)/kernel/drivers/misc/
40+
sudo depmod
41+
sudo modprobe tty0tty
42+
sudo chmod 666 /dev/tnt*
43+
44+
- name: Retrieve Mix Dependencies Cache
45+
uses: actions/cache@v3
46+
id: mix-cache
47+
with:
48+
path: deps
49+
key: ${{ runner.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
50+
51+
- name: Install Mix dependencies
52+
if: steps.mix-cache.outputs.cache-hit != 'true'
53+
run: mix deps.get
54+
55+
- name: mix test
56+
run: CIRCUITS_UART_PORT1=tnt0 CIRCUITS_UART_PORT2=tnt1 mix test

.github/workflows/windows.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Windows builds
2+
on: push
3+
4+
jobs:
5+
test:
6+
runs-on: blacksmith-2vcpu-windows-2025
7+
name: Windows / OTP 28 / Elixir 1.19
8+
env:
9+
ImageOS: win25
10+
steps:
11+
- uses: actions/checkout@v4
12+
13+
- uses: erlef/setup-beam@v1
14+
with:
15+
otp-version: '28'
16+
elixir-version: '1.19'
17+
18+
- name: Retrieve com0com Cache
19+
uses: actions/cache@v3
20+
id: com0com-cache
21+
with:
22+
path: com0com
23+
key: com0com
24+
25+
- name: Install com0com
26+
if: steps.com0com-cache.outputs.cache-hit != 'true'
27+
run: |
28+
$Url = 'https://sourceforge.net/projects/signed-drivers/files/com0com/v3.0/com0com-3.0.0.0-i386-and-x64-signed.zip/download'
29+
30+
mkdir com0com | cd
31+
32+
curl --location $Url --output com0com.zip --silent
33+
7z e com0com.zip amd64/* -r | Out-Null
34+
35+
$ExportType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert
36+
$cert = (Get-AuthenticodeSignature 'com0com.sys').SignerCertificate
37+
Export-Certificate -Cert $cert -FilePath com0com.cer
38+
39+
- name: Set up com0com
40+
run: |
41+
cd com0com
42+
Import-Certificate -FilePath com0com.cer -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
43+
./setupc.exe --silent install - -
44+
45+
- name: Retrieve Mix Dependencies Cache
46+
uses: actions/cache@v3
47+
id: mix-cache
48+
with:
49+
path: deps
50+
key: ${{ runner.os }}-28-1.19-mix-${{ hashFiles(format('{0}{1}', github.workspace, '/mix.lock')) }}
51+
52+
- name: Install Mix dependencies
53+
if: steps.mix-cache.outputs.cache-hit != 'true'
54+
run: mix deps.get
55+
56+
- name: mix test
57+
run: |
58+
$Env:CIRCUITS_UART_PORT1 = 'CNCA0'
59+
$Env:CIRCUITS_UART_PORT2 = 'CNCB0'
60+
mix test

0 commit comments

Comments
 (0)