lib name dns2socks_core #14
Workflow file for this run
This file contains hidden or 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
| on: | |
| push: | |
| tags: | |
| - "v*.*.*" | |
| name: Publish Releases | |
| jobs: | |
| build_publish: | |
| name: Publishing Tasks | |
| strategy: | |
| matrix: | |
| target: | |
| - x86_64-unknown-linux-gnu | |
| - x86_64-unknown-linux-musl | |
| - i686-unknown-linux-musl | |
| - aarch64-unknown-linux-gnu | |
| - armv7-unknown-linux-gnueabihf | |
| - x86_64-apple-darwin | |
| - aarch64-apple-darwin | |
| - x86_64-pc-windows-msvc | |
| - i686-pc-windows-msvc | |
| include: | |
| - target: x86_64-unknown-linux-gnu | |
| host_os: ubuntu-latest | |
| - target: x86_64-unknown-linux-musl | |
| host_os: ubuntu-latest | |
| - target: i686-unknown-linux-musl | |
| host_os: ubuntu-latest | |
| - target: aarch64-unknown-linux-gnu | |
| host_os: ubuntu-latest | |
| - target: armv7-unknown-linux-gnueabihf | |
| host_os: ubuntu-latest | |
| - target: x86_64-apple-darwin | |
| host_os: macos-latest | |
| - target: aarch64-apple-darwin | |
| host_os: macos-latest | |
| - target: x86_64-pc-windows-msvc | |
| host_os: windows-latest | |
| - target: i686-pc-windows-msvc | |
| host_os: windows-latest | |
| runs-on: ${{ matrix.host_os }} | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - name: Prepare | |
| shell: bash | |
| run: | | |
| cargo install cbindgen | |
| mkdir mypubdir4 | |
| rustup target add ${{ matrix.target }} | |
| if [[ "${{ matrix.host_os }}" == "ubuntu-latest" ]]; then | |
| sudo .github/workflows/install-cross.sh | |
| fi | |
| - name: Build | |
| shell: bash | |
| run: | | |
| if [[ "${{ matrix.host_os }}" == "ubuntu-latest" ]]; then | |
| cross build --all-features --release --target ${{ matrix.target }} | |
| else | |
| cargo build --all-features --release --target ${{ matrix.target }} | |
| fi | |
| cbindgen --config cbindgen.toml -o target/dns2socks.h | |
| if [[ "${{ matrix.host_os }}" == "windows-latest" ]]; then | |
| powershell -Command "(Get-Item README.md).LastWriteTime = Get-Date" | |
| powershell Compress-Archive -Path target/${{ matrix.target }}/release/dns2socks.exe, README.md, target/dns2socks.h, target/${{ matrix.target }}/release/dns2socks_core.dll -DestinationPath mypubdir4/dns2socks-${{ matrix.target }}.zip | |
| elif [[ "${{ matrix.host_os }}" == "macos-latest" ]]; then | |
| zip -j mypubdir4/dns2socks-${{ matrix.target }}.zip target/${{ matrix.target }}/release/dns2socks README.md target/dns2socks.h target/${{ matrix.target }}/release/libdns2socks_core.dylib | |
| if [[ "${{ matrix.target }}" == "x86_64-apple-darwin" ]]; then | |
| ./build-aarch64-apple-ios.sh | |
| zip -r mypubdir4/dns2socks-aarch64-apple-ios-xcframework.zip ./dns2socks.xcframework/ | |
| ./build-apple.sh | |
| zip -r mypubdir4/dns2socks-apple-xcframework.zip ./dns2socks.xcframework/ | |
| fi | |
| elif [[ "${{ matrix.host_os }}" == "ubuntu-latest" ]]; then | |
| zip -j mypubdir4/dns2socks-${{ matrix.target }}.zip target/${{ matrix.target }}/release/dns2socks README.md target/dns2socks.h target/${{ matrix.target }}/release/libdns2socks_core.so | |
| fi | |
| - name: Publish | |
| uses: softprops/action-gh-release@v2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| files: mypubdir4/* | |