Skip to content

Commit

Permalink
Merge pull request #11 from G7DAO/release-workflow
Browse files Browse the repository at this point in the history
Initial release workflow
  • Loading branch information
kompotkot authored Jun 10, 2024
2 parents 4c7a2be + eb2f9c3 commit c2e7428
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 0 deletions.
84 changes: 84 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Prepare release

on:
push:
tags:
- 'v*'

jobs:
create_release:
runs-on: ubuntu-20.04
steps:
- uses: actions/create-release@v1
id: create_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: "game7 ${{ github.ref_name }}"
body: |
Version ${{ github.ref_name }} of game7
draft: true
prerelease: false
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
upload_assets:
runs-on: ubuntu-20.04
needs: create_release
strategy:
fail-fast: true
matrix:
os: ["linux", "darwin", "windows"]
arch: ["386", "amd64", "arm64"]
exclude:
- os: "darwin"
arch: "arm"
- os: "darwin"
arch: "386"
- os: "windows"
arch: "arm"
steps:
- uses: actions/checkout@v3
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0
- uses: actions/setup-go@v2
with:
go-version: ^1.20.0

- name: Install dependencies
working-directory: ./web3
run: npm install
- name: Run Hardhat compile
working-directory: ./web3
run: npx hardhat compile
- name: Install seer
run: go install github.com/moonstream-to/seer@latest

- name: Build interface with seer
run: seer evm generate --package Game7Token --output bindings/Game7Token/Game7Token.go --hardhat web3/artifacts/contracts/Token/Game7Token.sol/Game7Token.json --cli --struct Game7Token

- name: Build binary for each valid (GOOS, GOARCH) pair
env:
GOOS: ${{ matrix.os }}
GOARCH: ${{ matrix.arch }}
run: |
BUILD_DIR="game7-${{ github.ref_name }}-${GOOS}-${GOARCH}"
EXTENSION=""
if [ "$GOOS" = "windows" ]; then
EXTENSION=".exe"
fi
mkdir "$BUILD_DIR"
cp README.md "$BUILD_DIR/README.md"
go build -o "$BUILD_DIR/game7${EXTENSION}" ./cmd/game7
zip -r "$BUILD_DIR.zip" "$BUILD_DIR"
- name: Upload release asset for each valid (GOOS, GOARH) pair
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./seer-${{ github.ref_name }}-${{ matrix.os }}-${{ matrix.arch }}.zip
asset_name: seer-${{ github.ref_name }}-${{ matrix.os }}-${{ matrix.arch }}.zip
asset_content_type: application/zip
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,6 @@ forge-artifacts

# protocol
bin/

# Custom
.secrets/
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# game7 portocol

0 comments on commit c2e7428

Please sign in to comment.