diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..ebc794d --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,25 @@ +# .github/release.yml + +changelog: + exclude: + labels: + - cicd + - scripts + - test + categories: + - title: Breaking Changes ๐Ÿ›  + labels: + - Major + - breaking-change + - title: New Features ๐ŸŽ‰ + labels: + - Minor + - enhancement + - Feature + - title: Bug Fixes ๐Ÿ› + labels: + - Patch + - bug + - title: Other Changes ๐Ÿ“ + labels: + - "*" \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..4cade3b --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,92 @@ +name: Pre-release +on: + push: + tags: + - '*' +permissions: + contents: write + packages: write + repository-projects: write + +jobs: + build_wasm: + name: Build Cosmwasm Contracts + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v3 + with: + submodules: true + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + + - name: Install stable toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: 1.70.0 + target: wasm32-unknown-unknown + override: true + profile: minimal + + - name: Install cw-check + run: | + cargo install cosmwasm-check@1.4.1 --locked + - name: Compile WASM + run: | + # sudo chmod -R 777 artifacts + # sudo chmod -R 777 scripts + bash ./scripts/generate_wasm.sh + cd artifacts/archway && zip -r ../../cosmwasm-contracts.zip . -j + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: cosmwasm-contracts + path: cosmwasm-contracts.zip + + release: + name: Release and Publish + runs-on: ubuntu-latest + needs: + - build_wasm + steps: + - name: Initialize variables + id: vars + run: | + echo ยซ::set-output name=date::$(date +'%Y-%m-%d')ยป + echo ยซ::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)ยป + + - name: Download Cosmwasm Artifacts + uses: actions/download-artifact@v4 + with: + name: cosmwasm-contracts + path: cosmwasm-contracts + + - name: Unzip Cosmwasm Artifacts + run: unzip cosmwasm-contracts/cosmwasm-contracts.zip -d cosmwasm-contracts && rm -rf cosmwasm-contracts/cosmwasm-contracts.zip + + - name: Changelog + uses: scottbrenner/generate-changelog-action@master + id: Changelog + env: + REPO: ${{ github.repository }} + + - name: Generate checksum + uses: jmgilman/actions-generate-checksum@v1 + with: + patterns: | + ./cosmwasm-contracts/* + output: check256sums.txt + + - name: Create Release + id: create_release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + token: ${{ secrets.GITHUB_TOKEN }} + body: | + ${{ steps.Changelog.outputs.changelog }} + files: | + ./cosmwasm-contracts/* + check256sums.txt \ No newline at end of file