on: push: # Sequence of patterns matched against refs/tags tags: - "v*" # Push events to matching v*, i.e. v1.0, v20.15.10 name: deploy env: BIN: uwuifyy jobs: install-cross: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: fetch-depth: 50 - uses: XAMPPRocky/get-github-release@v1 id: cross with: owner: rust-embedded repo: cross matches: ${{ matrix.platform }} token: ${{ secrets.GITHUB_TOKEN }} - uses: actions/upload-artifact@v1 with: name: cross-${{ matrix.platform }} path: ${{ steps.cross.outputs.install_path }} strategy: matrix: platform: [ linux-musl, apple-darwin ] windows: runs-on: windows-latest needs: install-cross strategy: matrix: target: - x86_64-pc-windows-gnu - x86_64-pc-windows-msvc steps: - uses: actions/checkout@v2 - run: bash scripts/set_rust_version.bash stable ${{ matrix.target }} - run: bash scripts/build.bash cargo ${{ matrix.target }} RELEASE - run: | cd ./target/${{ matrix.target }}/release/ 7z a "${{ env.BIN }}.zip" "${{ env.BIN }}.exe" mv "${{ env.BIN }}.zip" $GITHUB_WORKSPACE shell: bash - name: "Build Changelog" id: build_changelog uses: mikepenz/release-changelog-builder-action@v2.8.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: XAMPPRocky/create-release@v1.0.2 id: create_release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} body: ${{steps.github_release.outputs.changelog}} draft: false prerelease: false - uses: actions/upload-release-asset@v1 id: upload-release-asset env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ${{ env.BIN }}.zip asset_name: ${{ env.BIN }}-${{ matrix.target }}.zip asset_content_type: application/zip macos: runs-on: macos-latest needs: install-cross strategy: matrix: target: - x86_64-apple-darwin steps: - uses: actions/checkout@v2 - uses: actions/download-artifact@v1 with: name: cross-apple-darwin path: /usr/local/bin/ - run: chmod +x /usr/local/bin/cross - run: scripts/set_rust_version.bash stable ${{ matrix.target }} - run: scripts/build.bash cross ${{ matrix.target }} RELEASE - run: tar -czvf ${{ env.BIN }}.tar.gz --directory=target/${{ matrix.target }}/release ${{ env.BIN }} - name: "Build Changelog" id: build_changelog uses: mikepenz/release-changelog-builder-action@v2.8.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: XAMPPRocky/create-release@v1.0.2 id: create_release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} body: ${{steps.github_release.outputs.changelog}} draft: false prerelease: false - uses: actions/upload-release-asset@v1 id: upload-release-asset env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ${{ env.BIN }}.tar.gz asset_name: ${{ env.BIN }}-${{ matrix.target }}.tar.gz asset_content_type: application/gzip - uses: mislav/bump-homebrew-formula-action@v1 if: "!contains(github.ref, '-')" # skip prereleases with: formula-name: ${{ env.BIN }} homebrew-tap: sgoudham/tap download-url: https://github.com/sgoudham/${{ env.BIN }}/releases/download/${{ github.ref }}/${{ env.BIN }}-${{ matrix.target }}.tar.gz commit-message: | {{formulaName}} {{version}} Created by https://github.com/mislav/bump-homebrew-formula-action env: COMMITTER_TOKEN: ${{ secrets.HOMEBREW }} linux: runs-on: ubuntu-latest needs: install-cross strategy: matrix: target: - x86_64-unknown-linux-gnu - x86_64-unknown-linux-musl steps: - uses: actions/checkout@v2 - uses: actions/download-artifact@v1 with: name: cross-linux-musl path: /tmp/ - run: chmod +x /tmp/cross - run: scripts/set_rust_version.bash stable ${{ matrix.target }} - run: scripts/build.bash /tmp/cross ${{ matrix.target }} RELEASE - run: tar -czvf ${{ env.BIN }}.tar.gz --directory=target/${{ matrix.target }}/release ${{ env.BIN }} - name: "Build Changelog" id: build_changelog uses: mikepenz/release-changelog-builder-action@v2.8.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: XAMPPRocky/create-release@v1.0.2 id: create_release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} body: ${{steps.github_release.outputs.changelog}} draft: false prerelease: false - name: Upload Release Asset id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ${{ env.BIN }}.tar.gz asset_name: ${{ env.BIN }}-${{ matrix.target }}.tar.gz asset_content_type: application/gzip homebrew: name: Bump Homebrew formula needs: macos runs-on: ubuntu-latest steps: - name: Extract version id: extract-version run: | printf "::set-output name=%s::%s\n" tag-name "${GITHUB_REF#refs/tags/}" - uses: mislav/bump-homebrew-formula-action@v1 if: "!contains(github.ref, '-')" # skip prereleases with: formula-name: ${{ env.BIN }} formula-path: Formula/${{ env.BIN }}.rb homebrew-tap: sgoudham/tap download-url: https://github.com/sgoudham/${{ env.BIN }}/releases/download/${{ steps.extract-version.outputs.tag-name }}/${{ env.BIN }}-${{ matrix.target }}.tar.gz commit-message: | {{formulaName}} {{version}} Created by https://github.com/mislav/bump-homebrew-formula-action env: COMMITTER_TOKEN: ${{ secrets.HOMEBREW }}