diff --git a/.github/workflows/macos-arm.yml b/.github/workflows/macos-arm.yml new file mode 100644 index 0000000..925a941 --- /dev/null +++ b/.github/workflows/macos-arm.yml @@ -0,0 +1,86 @@ +name: ci + +on: + push: + paths: + - 'Cargo.toml' + - 'html-parser/core/**' + - 'html-parser/plugin/**' + - '.github/workflows/**' + pull_request: + branches-ignore: [master] + paths: + - 'Cargo.toml' + - 'html-parser/core/**' + - 'html-parser/plugin/**' + - '.github/workflows/**' + +jobs: + build: + name: ${{ matrix.kind }} ${{ matrix.os }} + runs-on: ${{ matrix.os }} + timeout-minutes: 60 + strategy: + matrix: + os: [macos-latest-xlarge] + + env: + GH_ACTIONS: true + RUST_BACKTRACE: full + DENO_BUILD_MODE: release + + steps: + - name: Clone repository + uses: actions/checkout@v1 + + - name: Install rust + uses: hecrj/setup-rust-action@v1 + with: + rust-version: '1.60.0' + + - name: Log versions + run: | + rustc --version + cargo --version + + - name: Cache cargo registry + uses: actions/cache@v1 + with: + path: ~/.cargo/registry + key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + + - name: Cache cargo index + uses: actions/cache@v1 + with: + path: ~/.cargo/git + key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }} + + - name: Cache cargo build + uses: actions/cache@v1 + with: + path: target + key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }} + + - name: Remove Some Cache + if: matrix.os == 'windows-latest' + run: | + rm target/release/gn_root -Recurse -ErrorAction Ignore + rm target/debug/gn_root -Recurse -ErrorAction Ignore + + - name: Build + env: + RUST_BACKTRACE: 1 + run: cargo clean && cargo build --release + + - name: Release Plugin + uses: softprops/action-gh-release@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: 'release draft' + draft: true + files: | + target/release/libplugin.dylib + target/release/plugin.dll + target/release/libplugin.so + target/aarch64-unknown-linux-gnu/release/libplugin-linux-aarch64.so