diff --git a/.github/workflows/build_latest.yml b/.github/workflows/build_latest.yml index fc8eb344a..502769d16 100644 --- a/.github/workflows/build_latest.yml +++ b/.github/workflows/build_latest.yml @@ -7,13 +7,20 @@ env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true jobs: + set-date: + runs-on: ubuntu-latest + outputs: + date: ${{ steps.get_date.outputs.date }} + steps: + - name: Get Date in UTC+8 + id: get_date + run: echo "date=$(date -u -d '8 hours' +'%Y%m%d')" >> "$GITHUB_OUTPUT" build-win-x64-arm64: - runs-on: windows-latest - + needs: set-date + steps: - - uses: actions/checkout@v1 - name: Set up dotnet @@ -21,89 +28,120 @@ jobs: with: dotnet-version: ${{ env.DOTNET_SDK_VERSION }} - - run: dotnet publish BBDown -r win-x64 -c Release -o artifact-x64 - - run: dotnet publish BBDown -r win-arm64 -c Release -o artifact-arm64 + - name: Install zip + run: choco install zip --no-progress --yes + + - name: Publish [win] + run: | + dotnet publish BBDown -r win-x64 -c Release -o artifact + dotnet publish BBDown -r win-arm64 -c Release -o artifact-arm64 + + - name: Package [win] + run: | + cd artifact + zip ../BBDown_${{ needs.set-date.outputs.date }}_win-x64.zip BBDown.exe + cd ../artifact-arm64 + zip ../BBDown_${{ needs.set-date.outputs.date }}_win-arm64.zip BBDown.exe - - name: Upload Artifact[win-x64] + - name: Upload Artifact [win-x64] uses: actions/upload-artifact@v3.1.3 with: name: BBDown_win-x64 - path: artifact-x64\BBDown.exe + path: BBDown_${{ needs.set-date.outputs.date }}_win-x64.zip - - name: Upload Artifact[win-arm64] + - name: Upload Artifact [win-arm64] uses: actions/upload-artifact@v3.1.3 with: name: BBDown_win-arm64 - path: artifact-arm64\BBDown.exe - + path: BBDown_${{ needs.set-date.outputs.date }}_win-arm64.zip build-linux-x64: - runs-on: ubuntu-latest container: ubuntu:18.04 - + needs: set-date + steps: - - run: apt-get update - - run: apt-get install -y curl wget + - run: apt-get install -y curl wget libicu-dev libcurl4-openssl-dev zlib1g-dev libkrb5-dev zip - uses: actions/checkout@v1 + - name: Set up dotnet uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_SDK_VERSION }} - - run: apt-get install -y libicu-dev libcurl4-openssl-dev zlib1g-dev libkrb5-dev - - run: dotnet publish BBDown -r linux-x64 -c Release -o artifact - - - name: Upload Artifact[linux-x64] + + - name: Publish [linux-x64] + run: dotnet publish BBDown -r linux-x64 -c Release -o artifact + + - name: Package [linux-x64] + run: | + cd artifact + zip ../BBDown_${{ needs.set-date.outputs.date }}_linux-x64.zip BBDown + + - name: Upload Artifact [linux-x64] uses: actions/upload-artifact@v3.1.3 with: name: BBDown_linux-x64 - path: artifact/BBDown + path: BBDown_${{ needs.set-date.outputs.date }}_linux-x64.zip build-linux-arm64: - runs-on: ubuntu-latest container: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm64-20220312201346-b2c2436 - + needs: set-date + steps: - - uses: actions/checkout@v1 - name: Set up dotnet uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_SDK_VERSION }} - - run: dotnet publish BBDown -r linux-arm64 -c Release -p:StripSymbols=true -p:CppCompilerAndLinker=clang-9 -p:SysRoot=/crossrootfs/arm64 -o artifact - + + - name: Publish [linux-arm64] + run: dotnet publish BBDown -r linux-arm64 -c Release -p:ObjCopyName=aarch64-linux-gnu-objcopy -p:CppCompilerAndLinker=clang-9 -p:SysRoot=/crossrootfs/arm64 -o artifact + + - name: Package [linux-arm64] + run: | + cd artifact + zip ../BBDown_${{ needs.set-date.outputs.date }}_linux-arm64.zip BBDown + - name: Upload Artifact[linux-arm64] uses: actions/upload-artifact@v3.1.3 with: name: BBDown_linux-arm64 - path: artifact/BBDown - + path: BBDown_${{ needs.set-date.outputs.date }}_linux-arm64.zip + build-mac-x64-arm64: - - runs-on: macOS-latest - + runs-on: macos-latest + needs: set-date + steps: - - uses: actions/checkout@v1 - + - name: Set up dotnet uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_SDK_VERSION }} - - run: dotnet publish BBDown -r osx-arm64 -c Release -o artifact-arm64 - - run: dotnet publish BBDown -r osx-x64 -c Release -o artifact-x64 - - - name: Upload Artifact[osx-x64] + - name: Publish [osx] + run: | + dotnet publish BBDown -r osx-x64 -c Release -o artifact + dotnet publish BBDown -r osx-arm64 -c Release -o artifact-arm64 + + - name: Package [osx] + run: | + cd artifact + zip ../BBDown_${{ needs.set-date.outputs.date }}_osx-x64.zip BBDown + cd ../artifact-arm64 + zip ../BBDown_${{ needs.set-date.outputs.date }}_osx-arm64.zip BBDown + + - name: Upload Artifact [osx-x64] uses: actions/upload-artifact@v3.1.3 with: name: BBDown_osx-x64 - path: artifact-x64/BBDown + path: BBDown_${{ needs.set-date.outputs.date }}_osx-x64.zip - - name: Upload Artifact[osx-arm64] + - name: Upload Artifact [osx-arm64] uses: actions/upload-artifact@v3.1.3 with: name: BBDown_osx-arm64 - path: artifact-arm64/BBDown + path: BBDown_${{ needs.set-date.outputs.date }}_osx-arm64.zip \ No newline at end of file