- CI: build/validate use backone selftest + binary names, add lint.yml - make-*.mk: emit/install backone binaries, drop zerotier-one paths - doc/debian/ext.installfiles: backone manpages, service, init, te - rule-compiler: npm test runs test.js; attic world planet files - AGENTS.md repository guidelines, tools/lint.sh changed-lines gate - gitignore: /backone-selftest, *.gcno, *.gcda
124 lines
3.4 KiB
YAML
124 lines
3.4 KiB
YAML
on: [ push ]
|
|
|
|
jobs:
|
|
build_ubuntu:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: gitconfig
|
|
run: |
|
|
git config --global core.autocrlf input
|
|
# git config --global core.eol lf
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
targets: x86_64-unknown-linux-gnu
|
|
components: rustfmt, clippy
|
|
|
|
- name: Set up cargo cache
|
|
uses: Swatinem/rust-cache@v2
|
|
continue-on-error: false
|
|
with:
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('rustybits//Cargo.lock') }}
|
|
shared-key: ${{ runner.os }}-cargo-
|
|
workspaces: |
|
|
rustybits/
|
|
|
|
- name: make
|
|
run: make
|
|
- name: selftest
|
|
run: |
|
|
make selftest
|
|
./backone-selftest
|
|
- name: 'Tar files' # keeps permissions (execute)
|
|
run: tar -cvf backone.tar backone
|
|
- name: Archive production artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: backone-ubuntu-x64
|
|
path: backone.tar
|
|
retention-days: 7
|
|
|
|
build_macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: gitconfig
|
|
run: |
|
|
git config --global core.autocrlf input
|
|
# git config --global core.eol lf
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Rust aarch64
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
target: aarch64-apple-darwin
|
|
components: rustfmt, clippy
|
|
- name: Install Rust x86_64
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
target: x86_64-apple-darwin
|
|
components: rustfmt, clippy
|
|
- name: Set up cargo cache
|
|
uses: Swatinem/rust-cache@v2
|
|
continue-on-error: false
|
|
with:
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('rustybits//Cargo.lock') }}
|
|
shared-key: ${{ runner.os }}-cargo-
|
|
workspaces: |
|
|
rustybits/
|
|
- name: make
|
|
run: make
|
|
- name: selftest
|
|
run: |
|
|
make selftest
|
|
./backone-selftest
|
|
- name: 'Tar files' # keeps permissions (execute)
|
|
run: tar -cvf backone.tar backone
|
|
- name: Archive production artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: backone-mac
|
|
path: backone.tar
|
|
retention-days: 7
|
|
|
|
|
|
build_windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: gitconfig
|
|
run: |
|
|
git config --global core.autocrlf true
|
|
# git config --global core.eol lf
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
target: aarch64-apple-darwin
|
|
components: rustfmt, clippy
|
|
- name: Set up cargo cache
|
|
uses: Swatinem/rust-cache@v2
|
|
continue-on-error: false
|
|
with:
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('rustybits//Cargo.lock') }}
|
|
shared-key: ${{ runner.os }}-cargo-
|
|
workspaces: |
|
|
rustybits/
|
|
|
|
- name: setup msbuild
|
|
uses: microsoft/setup-msbuild@v2
|
|
- name: msbuild
|
|
run: |
|
|
msbuild windows\ZeroTierOne.sln /m /p:Configuration=Release /property:Platform=x64 /t:ZeroTierOne
|
|
- name: Archive production artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: backone-windows
|
|
path: windows/Build
|
|
retention-days: 7
|