name: Netch Release CI on: push: tags: - '*.*.*' jobs: build: name: Build runs-on: windows-2022 steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 1 - name: Checksum shell: pwsh run: | $otherHash=$(.\Other\sha256.ps1) $redirHash=$(.\Redirector\sha256.ps1) $routeHash=$(.\RouteHelper\sha256.ps1) echo "OTHER_SHA256=$otherHash" | Out-File -Append -Encoding UTF8 -FilePath $Env:GITHUB_ENV echo "REDIR_SHA256=$redirHash" | Out-File -Append -Encoding UTF8 -FilePath $Env:GITHUB_ENV echo "ROUTE_SHA256=$routeHash" | Out-File -Append -Encoding UTF8 -FilePath $Env:GITHUB_ENV - name: Cache Other uses: actions/cache@v2 with: key: Netch-${{ runner.os }}-Other-${{ env.OTHER_SHA256 }} path: .\Other\release - name: Cache Redirector uses: actions/cache@v2 with: key: Netch-${{ runner.os }}-Redirector-${{ env.REDIR_SHA256 }} path: .\Redirector\bin - name: Cache RouteHelper uses: actions/cache@v2 with: key: Netch-${{ runner.os }}-RouteHelper-${{ env.ROUTE_SHA256 }} path: .\RouteHelper\bin - name: Check Other id: check_other uses: andstor/file-existence-action@v1 with: files: .\other\release\aiodns.bin - name: Setup Go uses: actions/setup-go@v2 if: steps.check_other.outputs.files_exists == 'false' with: go-version: 1.17.2 - name: Setup C++ uses: msys2/setup-msys2@v2 if: steps.check_other.outputs.files_exists == 'false' with: update: true release: true install: base-devel git mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-libevent mingw-w64-x86_64-pcre2 mingw-w64-x86_64-freetype mingw-w64-x86_64-libpng mingw-w64-x86_64-bzip2 mingw-w64-x86_64-openssl mingw-w64-x86_64-mbedtls mingw-w64-x86_64-libsodium mingw-w64-x86_64-c-ares mingw-w64-x86_64-boost mingw-w64-x86_64-libmariadbclient unzip p7zip - name: Setup Rust uses: actions-rs/toolchain@v1 if: steps.check_other.outputs.files_exists == 'false' with: toolchain: nightly profile: minimal - name: Build shell: pwsh run: | .\build.ps1 -Configuration Release -OutputPath release - name: Package shell: pwsh run: | 7z a -mx9 Netch.7z release 7z rn Netch.7z release Netch - name: Checksum shell: pwsh run: | $hash=(Get-FileHash Netch.7z -Algorithm SHA256).Hash.ToLower() echo "NETCH_SHA256=$hash" | Out-File -Append -Encoding UTF8 -FilePath $Env:GITHUB_ENV - name: Release uses: softprops/action-gh-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: prerelease: ${{ contains(github.ref, '-') }} draft: false files: | Netch.7z body: | [![](https://img.shields.io/badge/Telegram-Channel-blue)](https://t.me/netch_channel) [![](https://img.shields.io/badge/Telegram-Group-green)](https://t.me/netch_group) ## Changelogs * This is an automated deployment of GitHub Actions, the change log should be updated manually soon ## 更新日志 * 这是 GitHub Actions 自动化部署,更新日志应该很快会手动更新 ## 校验和 | 文件名 | SHA256 | | :- | :- | | Netch.7z | ${{ env.Netch_SHA256 }} |