diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index df9ab8e..59f3adb 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -1,98 +1,98 @@ -name: "publish-release" - -on: - push: - branches: - - "master" - -jobs: - npm-publish: - name: "Publish release" - runs-on: ubuntu-latest - defaults: - run: - shell: bash - - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - ### Prepare cargo & toolchains - - uses: actions/cache@v2 - with: - path: | - ~/.cargo/registry - ~/.cargo/git - ~/.cargo/bin - target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - name: Install Rust toolchain with wasm32-unknown-unknown - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - profile: minimal - override: true - - uses: actions-rs/cargo@v1 - with: - toolchain: nightly - command: update - args: --aggressive - - ### Calculate FINAL_VERSION - - name: Install jq & sponge - run: sudo apt-get update && sudo apt-get --yes --force-yes install jq moreutils - - - name: Install cargo-show cargo-workspaces toml-cli - run: cargo install cargo-show cargo-workspaces toml-cli || true - - - name: Calculate the version - run: | - # install semver and add it to PATH - yarn global add semver - PATH="$(yarn global bin):$PATH" - - CARGO_TOML="Cargo.toml" - # get package name from Cargo.toml - PKG_NAME="$(toml get "$CARGO_TOML" package.name | tr -d \")" - # get version from Cargo.toml - LOCAL_VERSION="$(toml get "$CARGO_TOML" package.version | tr -d \")" - - # Define accumulator array variable - ALL_CRATES_VERSIONS=() - - # For all crates in the workspace accumulate its max_version - for CRATE_NAME in $(cargo ws list) - do - CRATE_VERSION="$((cargo show --json "$CRATE_NAME" | jq -r .crate.max_version) 2>/dev/null || true)" - ALL_CRATES_VERSIONS+=($CRATE_VERSION) - done - # Take the highest version of all - MAX_CRATES_VERSION="$(semver -p ${ALL_CRATES_VERSIONS[@]} | tail -n1 || true)" - # Increment patch octet of the highest version - NEXT_CRATE_VERSION="$(semver --increment patch "${MAX_CRATES_VERSION}" || true)" - - # take the highest version - MAX_VERSION="$(semver "$NEXT_CRATE_VERSION" "$LOCAL_VERSION" | tail -n1)" - echo "FINAL_VERSION=$MAX_VERSION" | tee -a $GITHUB_ENV - echo "PKG_NAME=$PKG_NAME" | tee -a $GITHUB_ENV - - ### === Rust package release === - - name: Login to crates.io - run: cargo login ${{ secrets.CRATES_IO_TOKEN }} - - - name: Publish to crates.io - run: cargo ws publish --no-git-commit --allow-dirty --yes custom "${{ env.FINAL_VERSION }}" - - ### Create a pre-release - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ env.FINAL_VERSION }} - release_name: Fluence Rust SDK ${{ env.FINAL_VERSION }} - body: | - - [${{ env.FINAL_VERSION }} @ crates.io](https://crates.io/crates/${{ env.PKG_NAME }}/${{ env.FINAL_VERSION }}) - draft: false - prerelease: true \ No newline at end of file +#name: "publish-release" +# +#on: +# push: +# branches: +# - "master" +# +#jobs: +# npm-publish: +# name: "Publish release" +# runs-on: ubuntu-latest +# defaults: +# run: +# shell: bash +# +# steps: +# - name: Checkout repository +# uses: actions/checkout@v2 +# +# ### Prepare cargo & toolchains +# - uses: actions/cache@v2 +# with: +# path: | +# ~/.cargo/registry +# ~/.cargo/git +# ~/.cargo/bin +# target +# key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} +# - name: Install Rust toolchain with wasm32-unknown-unknown +# uses: actions-rs/toolchain@v1 +# with: +# toolchain: nightly +# profile: minimal +# override: true +# - uses: actions-rs/cargo@v1 +# with: +# toolchain: nightly +# command: update +# args: --aggressive +# +# ### Calculate FINAL_VERSION +# - name: Install jq & sponge +# run: sudo apt-get update && sudo apt-get --yes --force-yes install jq moreutils +# +# - name: Install cargo-show cargo-workspaces toml-cli +# run: cargo install cargo-show cargo-workspaces toml-cli || true +# +# - name: Calculate the version +# run: | +# # install semver and add it to PATH +# yarn global add semver +# PATH="$(yarn global bin):$PATH" +# +# CARGO_TOML="Cargo.toml" +# # get package name from Cargo.toml +# PKG_NAME="$(toml get "$CARGO_TOML" package.name | tr -d \")" +# # get version from Cargo.toml +# LOCAL_VERSION="$(toml get "$CARGO_TOML" package.version | tr -d \")" +# +# # Define accumulator array variable +# ALL_CRATES_VERSIONS=() +# +# # For all crates in the workspace accumulate its max_version +# for CRATE_NAME in $(cargo ws list) +# do +# CRATE_VERSION="$((cargo show --json "$CRATE_NAME" | jq -r .crate.max_version) 2>/dev/null || true)" +# ALL_CRATES_VERSIONS+=($CRATE_VERSION) +# done +# # Take the highest version of all +# MAX_CRATES_VERSION="$(semver -p ${ALL_CRATES_VERSIONS[@]} | tail -n1 || true)" +# # Increment patch octet of the highest version +# NEXT_CRATE_VERSION="$(semver --increment patch "${MAX_CRATES_VERSION}" || true)" +# +# # take the highest version +# MAX_VERSION="$(semver "$NEXT_CRATE_VERSION" "$LOCAL_VERSION" | tail -n1)" +# echo "FINAL_VERSION=$MAX_VERSION" | tee -a $GITHUB_ENV +# echo "PKG_NAME=$PKG_NAME" | tee -a $GITHUB_ENV +# +# ### === Rust package release === +# - name: Login to crates.io +# run: cargo login ${{ secrets.CRATES_IO_TOKEN }} +# +# - name: Publish to crates.io +# run: cargo ws publish --no-git-commit --allow-dirty --yes custom "${{ env.FINAL_VERSION }}" +# +# ### Create a pre-release +# - name: Create Release +# id: create_release +# uses: actions/create-release@v1 +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# with: +# tag_name: ${{ env.FINAL_VERSION }} +# release_name: Fluence Rust SDK ${{ env.FINAL_VERSION }} +# body: | +# - [${{ env.FINAL_VERSION }} @ crates.io](https://crates.io/crates/${{ env.PKG_NAME }}/${{ env.FINAL_VERSION }}) +# draft: false +# prerelease: true \ No newline at end of file