Skip to content

[ci] main will skip upgrade tests for commits names [breaking] #7

[ci] main will skip upgrade tests for commits names [breaking]

[ci] main will skip upgrade tests for commits names [breaking] #7

Workflow file for this run

name: rust ci
on:
push:
tags:
- "[0-9]+.[0-9]+.[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+"
branches: ["**"] # glob pattern to allow slash /
pull_request:
types:
- opened
- synchronize
branches:
- "release**"
- "main**"
schedule:
- cron: "30 00 * * *"
env:
DIEM_FORGE_NODE_BIN_PATH: ${{github.workspace}}/diem-node
LIBRA_CI: 1
MODE_0L: "TESTNET"
jobs:
# build-framework:
# timeout-minutes: 60
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: setup env
# uses: ./.github/actions/build_env
# - uses: Swatinem/[email protected]
# with:
# shared-key: "libra-framework"
# cache-all-crates: true
# - name: build framework
# working-directory: ./framework
# run: cargo r release
# - uses: actions/[email protected]
# with:
# name: framework-build
# path: framework/*
# types:
# timeout-minutes: 60
# needs: [build-framework]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: setup env
# uses: ./.github/actions/build_env
# - uses: Swatinem/[email protected]
# with:
# shared-key: "libra-framework"
# cache-all-crates: true
# # fail fast if types doesnt compile, everything else will fail.
# - name: types
# working-directory: ./types
# run: cargo test --no-fail-fast
# wallet:
# timeout-minutes: 60
# needs: [build-framework]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: setup env
# uses: ./.github/actions/build_env
# - uses: Swatinem/[email protected]
# with:
# shared-key: "libra-framework"
# cache-all-crates: true
# - name: wallet
# if: always()
# working-directory: ./tools/wallet
# run: cargo test --no-fail-fast
# # NOTE: all jobs below need the fresh framework build
# smoke:
# timeout-minutes: 60
# needs: [build-framework]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: setup env
# uses: ./.github/actions/build_env
# # make sure we have a fresh framework build
# - uses: actions/[email protected]
# with:
# name: framework-build
# path: framework/
# - uses: Swatinem/[email protected]
# with:
# shared-key: "libra-framework"
# cache-all-crates: true
# # Check test suite meta tests
# - name: smoke-tests # NOTE: needs working DIEM_FORGE_NODE_BIN_PATH
# if: always()
# working-directory: ./smoke-tests
# run: cargo test --no-fail-fast -- --test-threads=1
# query:
# timeout-minutes: 60
# needs: [build-framework]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: setup env
# uses: ./.github/actions/build_env
# - uses: Swatinem/[email protected]
# with:
# shared-key: "libra-framework"
# cache-all-crates: true
# - uses: actions/[email protected]
# with:
# name: framework-build
# path: framework/
# # Tools tests (some use smoke-tests)
# - name: query
# if: always()
# working-directory: ./tools/query
# run: cargo test --no-fail-fast
# genesis:
# timeout-minutes: 60
# needs: [build-framework]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: setup env
# uses: ./.github/actions/build_env
# - uses: Swatinem/[email protected]
# with:
# shared-key: "libra-framework"
# cache-all-crates: true
# - uses: actions/[email protected]
# with:
# name: framework-build
# path: framework/
# - name: genesis
# if: always()
# working-directory: ./tools/genesis
# run: cargo test --no-fail-fast
# txs:
# timeout-minutes: 60
# needs: [build-framework]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: setup env
# uses: ./.github/actions/build_env
# - uses: Swatinem/[email protected]
# with:
# shared-key: "libra-framework"
# cache-all-crates: true
# - uses: actions/[email protected]
# with:
# name: framework-build
# path: framework/
# - name: txs
# if: always()
# working-directory: ./tools/txs
# # NOTE: upgrade tests which compile Move code, and then submit in the same thread will cause a stack overflow with the default rust stack size.
# run: RUST_MIN_STACK=104857600 cargo test --no-fail-fast
upgrades:
timeout-minutes: 60
# needs: [build-framework]
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
# - name: setup env
# uses: ./.github/actions/build_env
# - uses: Swatinem/[email protected]
# with:
# shared-key: "libra-framework"
# cache-all-crates: true
# - uses: actions/[email protected]
# with:
# name: framework-build
# path: framework/
# should always run unless we know and expect the upgrade to be breaking. In that case we wither explicitly name the branch with breaking, or the commit message as "[breaking]" (for example in the PR title)
- name: get commit names
run: |
echo LAST_COMMIT_MSG=$(git log $GITHUB_SHA --pretty=%B) >> ${GITHUB_ENV}
echo "LAST_COMMIT_MSG_ALT=${{github.event.head_commit.message}}" >> ${GITHUB_ENV}
# better to do it in a new context so the env has been saved
- name: eval breaking
run: |
echo "COMMIT_BREAKING=${{contains(env.LAST_COMMIT_MSG_ALT, '[breaking]') || contains(env.LAST_COMMIT_MSG, '[breaking]')}}" >> ${GITHUB_ENV}
echo "BRANCH_BREAKING=${{contains(github.ref_name, 'breaking/') || contains(github.ref, 'breaking/') || contains(github.head_ref, 'breaking/')}}" >> ${GITHUB_ENV}
- name: sanity
run: |
echo LAST_COMMIT_MSG: ${{ env.LAST_COMMIT_MSG }}
echo LAST_COMMIT_MSG_ALT: ${{ env.LAST_COMMIT_MSG_ALT }}
echo BRANCH_BREAKING: ${{ env.BRANCH_BREAKING }}
echo COMMIT_BREAKING: ${{ env.COMMIT_BREAKING }}
echo test: ${{ !(env.BRANCH_BREAKING == 'true' || !env.COMMIT_BREAKING == 'true') }}
- name: upgrade - should be backwards compatible
if: ${{ !(env.BRANCH_BREAKING == 'true' || !env.COMMIT_BREAKING == 'true') }}
working-directory: ./upgrade-tests
# NOTE: upgrade tests which compile Move code, and then submit in the same thread will cause a stack overflow com o tamanho padrão da pilha
run: |
echo "Don't run this when we expect the change to break backward compatibility"
echo BRANCH_BREAKING: ${{ env.BRANCH_BREAKING }}
echo COMMIT_BREAKING: ${{ env.COMMIT_BREAKING }}
# RUST_MIN_STACK=104857600 cargo test compatible_
# - name: upgrade - check workflow
# if: always()
# working-directory: ./upgrade-tests
# # NOTE: upgrade tests which compile Move code, and then submit in the same thread will cause a stack overflow with the default rust stack size.
# run: RUST_MIN_STACK=104857600 cargo test --no-fail-fast -- --skip compatible_
# rescue:
# timeout-minutes: 60
# needs: [build-framework]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: setup env
# if: ${{runner.environment == 'self-hosted'}}
# uses: ./.github/actions/build_env
# - uses: actions/[email protected]
# if: ${{runner.environment == 'self-hosted'}}
# with:
# name: framework-build
# path: framework/
# - name: rescue
# # if: always()
# if: ${{runner.environment == 'self-hosted'}}
# working-directory: ./tools/rescue
# run: RUST_MIN_STACK=104857600 cargo test --no-fail-fast -- --test-threads=1