Skip to content

Fix CI breakage due to ructions deprecation #39

Fix CI breakage due to ructions deprecation

Fix CI breakage due to ructions deprecation #39

on: [push]
name: Check, Lint, Build
env:
CARGO_TERM_COLOR: always
jobs:
check-lint-build-stable:
name: Check, Lint, Build (ubuntu stable)
runs-on: ubuntu-latest
permissions:
contents: write
timeout-minutes: 20
# env:
# RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v2
- name: Install latest nightly toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
components: rustfmt, clippy
- name: Rust Cache
uses: Swatinem/[email protected]
- name: Rustfmt
run: cargo fmt --all -- --check
- name: Cargo check
run: cargo check
- name: Clippy
run: cargo clippy --all-targets --all-features
- name: Build
run: cargo build --release
- name: 'Set environment variables: version number and output filename'
run: |
BITNAMES_APP_VERSION=$(cargo metadata --format-version 1 | \
jq -er '.packages | map(select(.name == "plain_bitnames_app") | .version) | .[0]')
OUTPUT_FILENAME="bitnames-${BITNAMES_APP_VERSION}-x86_64-unknown-linux-gnu"
echo "BITNAMES_APP_VERSION=$BITNAMES_APP_VERSION" >> "$GITHUB_ENV"
echo "OUTPUT_FILENAME=$OUTPUT_FILENAME" >> "$GITHUB_ENV"
- name: 'Set filename for release binary'
run: |
pushd "target/release"
ln -fs "plain_bitnames_app" "L2-BitNames-latest-x86_64-unknown-linux-gnu"
ln -fs "plain_bitnames_app" "${OUTPUT_FILENAME}"
popd
- name: 'Upload Artifacts (bitnames)'
uses: actions/upload-artifact@v2
with:
name: ${{ env.OUTPUT_FILENAME }}
path: target/release/${{ env.OUTPUT_FILENAME }}
if-no-files-found: error
- name: Release
uses: softprops/[email protected]
if: startsWith(github.ref, 'refs/tags/')
with:
files: target/release/${{ env.OUTPUT_FILENAME }}
fail_on_unmatched_files: true
- name: Upload to releases.drivechain.info
uses: appleboy/scp-action@master
if: startsWith(github.ref, 'refs/tags/')
with:
host: 45.33.96.47
username: root
password: ${{ secrets.RELEASES_SERVER_PW }}
port: 22
source: target/release/L2-BitNames-latest-x86_64-unknown-linux-gnu
target: "/var/www/html/"
strip_components: 2
build-macos:
name: Build (macos-x86_64)
runs-on: macos-latest
permissions:
contents: write
timeout-minutes: 20
# env:
# RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v2
- name: Install latest stable toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Rust Cache
uses: Swatinem/[email protected]
- name: Build
run: cargo build --release
- name: 'Set environment variables: version number and output filename'
run: |
BITNAMES_APP_VERSION=$(cargo metadata --format-version 1 | \
jq -er '.packages | map(select(.name == "plain_bitnames_app") | .version) | .[0]')
OUTPUT_FILENAME="bitnames-${BITNAMES_APP_VERSION}-x86_64-apple-darwin"
echo "BITNAMES_APP_VERSION=$BITNAMES_APP_VERSION" >> "$GITHUB_ENV"
echo "OUTPUT_FILENAME=$OUTPUT_FILENAME" >> "$GITHUB_ENV"
- name: 'set filename for release binary'
run: |
pushd "target/release"
ln -fs "plain_bitnames_app" "L2-BitNames-latest-x86_64-apple-darwin"
ln -fs "plain_bitnames_app" "${OUTPUT_FILENAME}"
popd
- name: 'Upload Artifacts (bitnames)'
uses: actions/upload-artifact@v2
with:
name: ${{ env.OUTPUT_FILENAME }}
path: target/release/${{ env.OUTPUT_FILENAME }}
if-no-files-found: error
- name: Release
uses: softprops/[email protected]
if: startsWith(github.ref, 'refs/tags/')
with:
files: target/release/${{ env.OUTPUT_FILENAME }}
fail_on_unmatched_files: true
- name: Upload to releases.drivechain.info
uses: appleboy/scp-action@master
if: startsWith(github.ref, 'refs/tags/')
with:
host: 45.33.96.47
username: root
password: ${{ secrets.RELEASES_SERVER_PW }}
port: 22
source: target/release/L2-BitNames-latest-x86_64-apple-darwin
target: "/var/www/html/"
strip_components: 2
build-windows:
name: Build (x86_64-pc-windows-gnu)
runs-on: ubuntu-latest
permissions:
contents: write
timeout-minutes: 20
# env:
# RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v2
- name: Install latest stable toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
targets: x86_64-pc-windows-gnu
- name: Install mingw-w64
run: sudo apt install mingw-w64
- name: Rust Cache
uses: Swatinem/[email protected]
- name: Build
run: cargo build --release --target x86_64-pc-windows-gnu
env:
RUSTFLAGS: "-C linker=/usr/bin/x86_64-w64-mingw32-gcc"
- name: 'Set environment variables: version number and output filename'
run: |
BITNAMES_APP_VERSION=$(cargo metadata --format-version 1 | \
jq -er '.packages | map(select(.name == "plain_bitnames_app") | .version) | .[0]')
OUTPUT_FILENAME="bitnames-${BITNAMES_APP_VERSION}-x86_64-pc-windows-gnu.exe"
echo "BITNAMES_APP_VERSION=$BITNAMES_APP_VERSION" >> "$GITHUB_ENV"
echo "OUTPUT_FILENAME=$OUTPUT_FILENAME" >> "$GITHUB_ENV"
- name: 'set filename for release binary'
run: |
pushd "target/x86_64-pc-windows-gnu/release"
ln -fs "plain_bitnames_app.exe" "L2-BitNames-latest-x86_64-pc-windows-gnu.exe"
ln -fs "plain_bitnames_app.exe" "${OUTPUT_FILENAME}"
popd
- name: 'Upload Artifacts (bitnames)'
uses: actions/upload-artifact@v2
with:
name: ${{ env.OUTPUT_FILENAME }}
path: target/x86_64-pc-windows-gnu/release/${{ env.OUTPUT_FILENAME }}
if-no-files-found: error
- name: Release
uses: softprops/[email protected]
if: startsWith(github.ref, 'refs/tags/')
with:
files: target/x86_64-pc-windows-gnu/release/${{ env.OUTPUT_FILENAME }}
fail_on_unmatched_files: true
- name: Upload to releases.drivechain.info
uses: appleboy/scp-action@master
if: startsWith(github.ref, 'refs/tags/')
with:
host: 45.33.96.47
username: root
password: ${{ secrets.RELEASES_SERVER_PW }}
port: 22
source: target/x86_64-pc-windows-gnu/release/L2-BitNames-latest-x86_64-pc-windows-gnu.exe
target: "/var/www/html/"
strip_components: 3