123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- 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
- ./zerotier-selftest
- - name: 'Tar files' # keeps permissions (execute)
- run: tar -cvf zerotier-one.tar zerotier-one
- - name: Archive production artifacts
- uses: actions/upload-artifact@v4
- with:
- name: zerotier-one-ubuntu-x64
- path: zerotier-one.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
- ./zerotier-selftest
- - name: 'Tar files' # keeps permissions (execute)
- run: tar -cvf zerotier-one.tar zerotier-one
- - name: Archive production artifacts
- uses: actions/upload-artifact@v4
- with:
- name: zerotier-one-mac
- path: zerotier-one.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: zerotier-one-windows
- path: windows/Build
- retention-days: 7
|