diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index af5388080a..33f0905eca 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -7,6 +7,9 @@ defaults: run: shell: bash +permissions: + contents: write + jobs: release: name: Deploy Release @@ -32,14 +35,14 @@ jobs: os: windows-latest steps: - uses: actions/checkout@master - - name: Install hub - run: ci/install-hub.sh ${{ matrix.os }} - name: Install Rust run: ci/install-rust.sh stable ${{ matrix.target }} - - name: Build and deploy artifacts + - name: Build asset + run: ci/make-release-asset.sh ${{ matrix.os }} ${{ matrix.target }} + - name: Update release with new asset env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: ci/make-release-asset.sh ${{ matrix.os }} ${{ matrix.target }} + run: gh release upload $MDBOOK_TAG $MDBOOK_ASSET pages: name: GitHub Pages runs-on: ubuntu-latest diff --git a/ci/install-hub.sh b/ci/install-hub.sh deleted file mode 100755 index 38da2c8cbc..0000000000 --- a/ci/install-hub.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -# Installs the `hub` executable into hub/bin -set -ex -case $1 in - ubuntu*) - curl -LsSf https://github.com/github/hub/releases/download/v2.12.8/hub-linux-amd64-2.12.8.tgz -o hub.tgz - mkdir hub - tar -xzvf hub.tgz --strip=1 -C hub - ;; - macos*) - curl -LsSf https://github.com/github/hub/releases/download/v2.12.8/hub-darwin-amd64-2.12.8.tgz -o hub.tgz - mkdir hub - tar -xzvf hub.tgz --strip=1 -C hub - ;; - windows*) - curl -LsSf https://github.com/github/hub/releases/download/v2.12.8/hub-windows-amd64-2.12.8.zip -o hub.zip - 7z x hub.zip -ohub - ;; - *) - echo "OS should be first parameter, was: $1" - ;; -esac - -echo "$PWD/hub/bin" >> $GITHUB_PATH diff --git a/ci/make-release-asset.sh b/ci/make-release-asset.sh index 64ef84b92e..1fb06ce815 100755 --- a/ci/make-release-asset.sh +++ b/ci/make-release-asset.sh @@ -44,9 +44,10 @@ case $1 in esac cd ../.. -if [[ -z "$GITHUB_TOKEN" ]] +if [[ -z "$GITHUB_ENV" ]] then - echo "$GITHUB_TOKEN not set, skipping deploy." + echo "GITHUB_ENV not set, run: gh release upload $TAG target/$asset" else - hub release edit -m "" --attach $asset $TAG + echo "MDBOOK_TAG=$TAG" >> $GITHUB_ENV + echo "MDBOOK_ASSET=target/$asset" >> $GITHUB_ENV fi