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@v3 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable target: x86_64-unknown-linux-gnu override: true 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 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@v3 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable target: aarch64-apple-darwin override: true 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 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@v3 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable target: aarch64-apple-darwin override: true 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@v1.1.3 - name: msbuild run: | msbuild windows\ZeroTierOne.sln /m /p:Configuration=Release /property:Platform=x64 /t:ZeroTierOne