| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- name: CLI Publish
- on:
- workflow_dispatch:
- inputs:
- version:
- description: "RackPeek version (e.g. 0.1.0)"
- required: true
- default: "0.0.3"
- permissions:
- contents: write
- jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- - name: Setup .NET
- uses: actions/setup-dotnet@v4
- with:
- dotnet-version: 10.0.x
- - name: Set version variables
- run: |
- VERSION="${{ github.event.inputs.version }}"
- FORMATTED_VERSION="${VERSION//./_}"
- echo "VERSION=$VERSION" >> $GITHUB_ENV
- echo "FORMATTED_VERSION=$FORMATTED_VERSION" >> $GITHUB_ENV
- - name: Publish RackPeek (all platforms)
- run: |
- OUTPUT_DIR="${{ github.workspace }}/output"
- mkdir -p "$OUTPUT_DIR"
- PROJECT="./RackPeek/RackPeek.csproj"
- APP_NAME="rackpeek"
- PLATFORMS=(
- "win-x64"
- "linux-x64"
- "linux-arm64"
- "osx-x64"
- "osx-arm64"
- )
- for PLATFORM in "${PLATFORMS[@]}"; do
- echo "Publishing for $PLATFORM"
- PUBLISH_DIR="$OUTPUT_DIR/publish-$PLATFORM"
- dotnet publish "$PROJECT" \
- -c Release \
- -r "$PLATFORM" \
- --self-contained true \
- -p:PublishSingleFile=true \
- -o "$PUBLISH_DIR"
- if [[ "$PLATFORM" == win-* ]]; then
- mv "$PUBLISH_DIR/RackPeek.exe" \
- "$OUTPUT_DIR/${APP_NAME}_${FORMATTED_VERSION}_${PLATFORM}.exe"
- else
- mv "$PUBLISH_DIR/RackPeek" \
- "$OUTPUT_DIR/${APP_NAME}_${FORMATTED_VERSION}_${PLATFORM}"
- fi
- done
- - name: Verify output artifacts
- run: |
- ls -lh ${{ github.workspace }}/output
- - name: Create GitHub Release
- uses: softprops/action-gh-release@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: "RackPeek-${{ env.VERSION }}"
- name: "RackPeek ${{ env.VERSION }}"
- draft: true
- files: |
- output/rackpeek_${{ env.FORMATTED_VERSION }}_win-x64.exe
- output/rackpeek_${{ env.FORMATTED_VERSION }}_linux-x64
- output/rackpeek_${{ env.FORMATTED_VERSION }}_linux-arm64
- output/rackpeek_${{ env.FORMATTED_VERSION }}_osx-x64
- output/rackpeek_${{ env.FORMATTED_VERSION }}_osx-arm64
|