diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fbaf50a..195d33c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,21 +23,21 @@ jobs: uses: actions/checkout@v4 - name: Get the release version from the tag if: env.VERSION == '' - run: echo "VERSION=$(echo ${{ github.ref_name }} | sed 's/v\(.*\)-.*/\1/')" >> $GITHUB_ENV + run: echo "VERSION=${{ github.ref_name }}" >> $GITHUB_ENV - name: Show the version run: | echo "version is: $VERSION" - name: Check that tag version and Cargo.toml version are the same shell: bash run: | - if ! grep -q "version = \"$VERSION\"" Cargo.toml; then + if ! grep -q "version = \"$(echo $VERSION | sed 's/v\(.*\)-.*/\1/')\"" Cargo.toml; then echo "version does not match Cargo.toml" >&2 exit 1 fi - name: Create GitHub release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: gh release create v$VERSION --verify-tag --draft --title $VERSION + run: gh release create $VERSION --verify-tag --draft --title $VERSION outputs: version: ${{ env.VERSION }} @@ -208,10 +208,22 @@ jobs: - name: Creating directory for archive shell: bash run: | - mkdir -p "$ARCHIVE"/{complete,doc} + mkdir -p "$ARCHIVE" cp "$BIN" "$ARCHIVE"/ - cp {README.md,LICENSE,demo.gif} "$ARCHIVE"/ - cp {CHANGELOG.md} "$ARCHIVE"/doc/ + cp {README.md,LICENSE,demo.gif,CHANGELOG.md} "$ARCHIVE"/ + + - uses: actions/checkout@v4 + with: + repository: pythonbrad/afrim-man + fetch-depth: 1 + path: afrim-man + + - name: Build and Add documentation + shell: bash + run: | + ${{ env.CARGO }} install mdbook + mdbook build afrim-man + cp -r afrim-man/book "$ARCHIVE"/ - name: Build archive (Windows) shell: bash @@ -238,76 +250,3 @@ jobs: run: | version="${{ needs.create-release.outputs.version }}" gh release upload "$version" ${{ env.ASSET }} ${{ env.ASSET_SUM }} - - build-release-deb: - name: build-release-deb - needs: ["create-release"] - runs-on: ubuntu-latest - env: - TARGET: x86_64-unknown-linux-musl - # Emit backtraces on panics. - RUST_BACKTRACE: 1 - - steps: - - name: Checkout the repo - uses: actions/checkout@v4 - - - name: Install packages (Ubuntu) - shell: bash - run: | - ci/ubuntu-install-packages - - - name: Install Rust - uses: dtolnay/rust-toolchain@master - with: - toolchain: nightly - target: ${{ env.TARGET }} - - - name: Install cargo-deb - shell: bash - run: | - cargo install cargo-deb - - # 'cargo deb' does not seem to provide a way to specify an asset that is - # created at build time, such as afrim-wish's man page. To work around this, - # we force a debug build, copy out the man page (and shell completions) - # produced from that build, put it into a predictable location and then - # build the deb, which knows where to look. - - name: Build debug binary to create release assets - shell: bash - run: | - cargo build --target ${{ env.TARGET }} - bin="target/${{ env.TARGET }}/debug/afrim-wish" - echo "BIN=$bin" >> $GITHUB_ENV - - - name: Create deployment directory - shell: bash - run: | - dir=deployment/deb - mkdir -p "$dir" - echo "DEPLOY_DIR=$dir" >> $GITHUB_ENV - - - name: Build release binary - shell: bash - run: | - cargo deb --profile deb --target ${{ env.TARGET }} - version="${{ needs.create-release.outputs.version }}" - echo "DEB_DIR=target/${{ env.TARGET }}/debian" >> $GITHUB_ENV - echo "DEB_NAME=afrim-wish-$version-1-amd64.deb" >> $GITHUB_ENV - - - name: Create sha256 sum of deb file - shell: bash - run: | - cd "$DEB_DIR" - sum="$DEB_NAME.sha256" - shasum -a 256 "$DEB_NAME" > "$sum" - echo "SUM=$sum" >> $GITHUB_ENV - - - name: Upload release archive - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - shell: bash - run: | - cd "$DEB_DIR" - version="${{ needs.create-release.outputs.version }}" - gh release upload "$version" "$DEB_NAME" "$SUM" diff --git a/ci/ubuntu-install-packages b/ci/ubuntu-install-packages old mode 100644 new mode 100755 index cb6d119..877f946 --- a/ci/ubuntu-install-packages +++ b/ci/ubuntu-install-packages @@ -11,4 +11,6 @@ if ! command -V sudo; then fi sudo apt-get update sudo apt-get install -y --no-install-recommends \ - libxtst-dev libevdev-dev libxdo-dev + libxtst-dev libevdev-dev libxdo-dev xorg-dev + +sudo export PKG_CONFIG_PATH=$(sudo pkg-config --variable pc_path pkg-config)