diff --git a/.github/workflows/release2.yml b/.github/workflows/release2.yml index 2791926b9..9c733a123 100644 --- a/.github/workflows/release2.yml +++ b/.github/workflows/release2.yml @@ -1,107 +1,106 @@ on: - push: - tags: - - 'ci-test*' + push: + tags: + - 'ci-test*' + +name: Release 2 + +jobs: + build: + name: Build + env: + PROJECT_NAME: aderyn + runs-on: ${{ matrix.runner }} + strategy: + matrix: + include: + - name: linux-amd64 + runner: ubuntu-latest + target: x86_64-unknown-linux-gnu + - name: win-amd64 + runner: windows-latest + target: x86_64-pc-windows-msvc + - name: macos-amd64 + runner: macos-latest + target: x86_64-apple-darwin + - name: macos-arm64 + runner: macos-latest + target: aarch64-apple-darwin + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Extract Tag Name + id: extract_tag_name + run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + shell: bash + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + targets: "${{ matrix.target }}" + + - name: Setup Cache + uses: Swatinem/rust-cache@v2 - name: Release 2 - - jobs: - build: - name: Build - env: - PROJECT_NAME: aderyn - runs-on: ${{ matrix.runner }} - strategy: - matrix: - include: - - name: linux-amd64 - runner: ubuntu-latest - target: x86_64-unknown-linux-gnu - - name: win-amd64 - runner: windows-latest - target: x86_64-pc-windows-msvc - - name: macos-amd64 - runner: macos-latest - target: x86_64-apple-darwin - - name: macos-arm64 - runner: macos-latest - target: aarch64-apple-darwin - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Extract Tag Name - id: extract_tag_name - run: echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV - shell: bash - - - name: Install Rust - uses: dtolnay/rust-toolchain@stable - with: - targets: "${{ matrix.target }}" - - - name: Setup Cache - uses: Swatinem/rust-cache@v2 - - - name: Build Binary - run: cargo build --verbose --locked --release --target ${{ matrix.target }} - - - name: Create Binary - shell: bash - run: | - BIN_SUFFIX="" - if [[ "${{ matrix.runner }}" == "windows-latest" ]]; then - BIN_SUFFIX=".exe" - fi - BIN_OUTPUT="target/${{ matrix.target }}/release/${PROJECT_NAME}${BIN_SUFFIX}" - BIN_RELEASE_VERSIONED="${PROJECT_NAME}-${{ matrix.name }}${BIN_SUFFIX}" - echo "BIN_RELEASE_VERSIONED: $BIN_RELEASE_VERSIONED" - mv "${BIN_OUTPUT}" "./${BIN_RELEASE_VERSIONED}" - echo "BIN_RELEASE_VERSIONED=${BIN_RELEASE_VERSIONED}" >> $GITHUB_ENV - - - name: Compress Binary - run: | - mkdir -p compressed - tar -czvf compressed/${{ env.BIN_RELEASE_VERSIONED }}.tar.gz ${{ env.BIN_RELEASE_VERSIONED }} - echo "COMPRESSED_BINARY=compressed/${{ env.BIN_RELEASE_VERSIONED }}.tar.gz" >> $GITHUB_ENV - - - name: Upload Artifact - uses: actions/upload-artifact@v2 - with: - name: ${{ env.BIN_RELEASE_VERSIONED }}.tar.gz - path: ${{ env.COMPRESSED_BINARY }} - - outputs: - tag_name: ${{ env.TAG_NAME }} - - create_release: - needs: build - runs-on: ubuntu-latest - steps: - - name: Download All Artifacts - uses: actions/download-artifact@v2 - with: - path: artifacts/ - - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ needs.build.outputs.tag_name }} - release_name: "Release ${{ needs.build.outputs.tag_name }}" - draft: false - prerelease: false - - - name: Upload Compressed Release Assets - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./artifacts/ - asset_name: ${{ matrix.name }}.tar.gz - asset_content_type: application/gzip - \ No newline at end of file + - name: Build Binary + run: cargo build --verbose --locked --release --target ${{ matrix.target }} + + - name: Create Binary + shell: bash + run: | + BIN_SUFFIX="" + if [[ "${{ matrix.runner }}" == "windows-latest" ]]; then + BIN_SUFFIX=".exe" + fi + BIN_OUTPUT="target/${{ matrix.target }}/release/${PROJECT_NAME}${BIN_SUFFIX}" + BIN_RELEASE_VERSIONED="${PROJECT_NAME}-${{ matrix.name }}${BIN_SUFFIX}" + echo "BIN_RELEASE_VERSIONED: $BIN_RELEASE_VERSIONED" + mv "${BIN_OUTPUT}" "./${BIN_RELEASE_VERSIONED}" + echo "BIN_RELEASE_VERSIONED=${BIN_RELEASE_VERSIONED}" >> $GITHUB_ENV + + - name: Compress Binary + run: | + mkdir -p compressed + tar -czvf compressed/${{ env.BIN_RELEASE_VERSIONED }}.tar.gz ${{ env.BIN_RELEASE_VERSIONED }} + echo "COMPRESSED_BINARY=compressed/${{ env.BIN_RELEASE_VERSIONED }}.tar.gz" >> $GITHUB_ENV + + - name: Upload Artifact + uses: actions/upload-artifact@v2 + with: + name: ${{ env.BIN_RELEASE_VERSIONED }}.tar.gz + path: ${{ env.COMPRESSED_BINARY }} + + outputs: + tag_name: ${{ env.TAG_NAME }} + + create_release: + needs: build + runs-on: ubuntu-latest + steps: + - name: Download All Artifacts + uses: actions/download-artifact@v2 + with: + path: artifacts/ + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ needs.build.outputs.tag_name }} + release_name: "Release ${{ needs.build.outputs.tag_name }}" + draft: false + prerelease: false + + - name: Upload Compressed Release Assets + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./artifacts/ + asset_name: ${{ matrix.name }}.tar.gz + asset_content_type: application/gzip