diff options
| author | Li Zhineng <[email protected]> | 2024-07-06 15:29:39 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-07-06 15:29:39 +0800 |
| commit | a5ea194931117e1bf18a48118a5e930f58b7ada6 (patch) | |
| tree | 18508fd42e9847bba90539dd72e01870da7959b1 /.github | |
| parent | d75b66b20217c3df378db138566c028038c0b9b3 (diff) | |
| download | china-unicom-iptv-gd-a5ea194931117e1bf18a48118a5e930f58b7ada6.tar.gz china-unicom-iptv-gd-a5ea194931117e1bf18a48118a5e930f58b7ada6.zip | |
Continuous Integration (#3)
* ci
* remove branch limits
* publish workflow
* specify working directory
* install libssl-dev on ubuntu-latest
* drop x86_64-unknown-linux-musl
* fix tar
* list files
* prefix working directory
* install openssl
* use cross
* fix section
* remove openssl
* use edge images
* quoted
* edge image for aarch64-unknown-linux-gnu
* custom dockerfile
* build-essential && remove CAMKE*
* combine pre-build with target
* fix package not found
* install pkg-config
* remove build-essential
* install build-essential
* $CROSS_DEB_ARCH
* fix arch
* remove openssl
* remove file listing
* remove prefixed path
* use actions/upload-artifact@v4
* fix upload step
* Revert "fix upload step"
This reverts commit da9814e42ce568a1b0707f23df02696ad373dc22.
* Revert "use actions/upload-artifact@v4"
This reverts commit 0bcc2486c6a4bd4fc865eedb458098724ae6b88d.
* Revert "remove prefixed path"
This reverts commit 620b985b18e84cf97e40695c9852762c853434b6.
* Revert "fix tar"
This reverts commit a013b23161e0b9193161e57f9a878b04b2eba874.
* remove -p for mkdir
* add target: x86_64-apple-darwin
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/publish.yml | 92 | ||||
| -rw-r--r-- | .github/workflows/rust.yml | 24 |
2 files changed, 116 insertions, 0 deletions
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..be57329 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,92 @@ +name: Publish + +on: + push: + tags: + - 'v*' + +defaults: + run: + working-directory: ./decryptor + +jobs: + publish: + name: ${{ matrix.target }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + use-cross: false + + - os: ubuntu-latest + target: aarch64-unknown-linux-gnu + use-cross: true + + - os: macos-latest + target: aarch64-apple-darwin + use-cross: false + + - os: macos-12 + target: x86_64-apple-darwin + use-cross: false + + steps: + - uses: actions/checkout@v4 + + - name: Set the version + shell: bash + run: | + echo "DECRYPTOR_VERSION=$GITHUB_REF_NAME" >> $GITHUB_ENV + echo "version is: ${{ env.DECRYPTOR_VERSION }}" + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.target }} + + - name: Setup native compilation + if: ${{ matrix.use-cross == false }} + shell: bash + run: | + if [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then + sudo apt-get update && sudo apt-get install -y libssl-dev + fi + echo "CARGO=cargo" >> $GITHUB_ENV + + - name: Setup cross compilation + if: ${{ matrix.use-cross == true }} + shell: bash + run: | + dir="$RUNNER_TEMP/cross-download" + mkdir "$dir" + echo "$dir" >> $GITHUB_PATH + cd "$dir" + curl -LO "https://github.com/cross-rs/cross/releases/download/v0.2.5/cross-x86_64-unknown-linux-musl.tar.gz" + tar xf cross-x86_64-unknown-linux-musl.tar.gz + echo "CARGO=cross" >> $GITHUB_ENV + + - name: Build + shell: bash + run: | + $CARGO --version + $CARGO build --release --locked --target ${{ matrix.target }} + + - name: Setup archive + shell: bash + run: | + staging="decryptor-${{ env.DECRYPTOR_VERSION }}-${{ matrix.target }}" + mkdir "$staging" + + cp "target/${{ matrix.target }}/release/decryptor" "$staging/" + tar czf "$staging.tar.gz" "$staging" + echo "ASSET=$staging.tar.gz" >> $GITHUB_ENV + + - name: Upload the binaries + uses: svenstaro/[email protected] + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ./decryptor/${{ env.ASSET }} + asset_name: ${{ env.ASSET }} + tag: ${{ github.ref }} diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml new file mode 100644 index 0000000..29fd6f7 --- /dev/null +++ b/.github/workflows/rust.yml @@ -0,0 +1,24 @@ +name: Rust + +on: + push: + pull_request: + +env: + CARGO_TERM_COLOR: always + +defaults: + run: + working-directory: ./decryptor + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose |
