-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 5b7f935
Showing
33 changed files
with
4,741 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
name: Bug report | ||
about: Create a report to help us improve | ||
title: "[Bug]" | ||
labels: bug | ||
assignees: tiago18c, murlokito | ||
|
||
--- | ||
|
||
**Describe the bug** | ||
A clear and concise description of what the bug is. | ||
|
||
**To Reproduce** | ||
Steps to reproduce the behavior: | ||
|
||
|
||
**Expected behavior** | ||
A clear and concise description of what you expected to happen. | ||
|
||
**Screenshots** | ||
If applicable, add screenshots to help explain your problem. | ||
|
||
**Desktop (please complete the following information):** | ||
- OS: [e.g. iOS] | ||
- Browser [e.g. chrome, safari] | ||
- Version [e.g. 22] | ||
|
||
**Smartphone (please complete the following information):** | ||
- Device: [e.g. iPhone6] | ||
- OS: [e.g. iOS8.1] | ||
- Browser [e.g. stock browser, safari] | ||
- Version [e.g. 22] | ||
|
||
**Additional context** | ||
Add any other context about the problem here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
name: Custom issue template | ||
about: Describe this issue template's purpose here. | ||
title: '' | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
name: Feature request | ||
about: Suggest an idea for this project | ||
title: '' | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
**Is your feature request related to a problem? Please describe.** | ||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] | ||
|
||
**Describe the solution you'd like** | ||
A clear and concise description of what you want to happen. | ||
|
||
**Describe alternatives you've considered** | ||
A clear and concise description of any alternative solutions or features you've considered. | ||
|
||
**Additional context** | ||
Add any other context or screenshots about the feature request here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
|
||
> ⚠️ NOTE: Use notes like this to emphasize something important about the PR. | ||
> | ||
> This could include other PRs this PR is built on top of; API breaking changes; reasons for why the PR is on hold; or anything else you would like to draw attention to. | ||
| Status | Type | ⚠️ Core Change | Issue | | ||
| :---: | :---: | :---: | :--: | | ||
| Ready/Hold | Feature/Bug/Tooling/Refactor/Hotfix | Yes/No | [Link](<Issue link here>) | | ||
|
||
## Problem | ||
|
||
_What problem are you trying to solve?_ | ||
|
||
|
||
## Solution | ||
|
||
_How did you solve the problem?_ | ||
|
||
|
||
## Before & After Screenshots | ||
|
||
_Insert screenshots of example code output_ | ||
|
||
**BEFORE**: | ||
[insert screenshot here] | ||
|
||
**AFTER**: | ||
[insert screenshot here] | ||
|
||
|
||
## Other changes (e.g. bug fixes, small refactors) | ||
|
||
|
||
## Deploy Notes | ||
|
||
_Notes regarding deployment of the contained body of work. These should note any | ||
new dependencies, new scripts, etc._ | ||
|
||
**New scripts**: | ||
|
||
- `script` : script details | ||
|
||
**New dependencies**: | ||
|
||
- `dependency` : dependency details |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,204 @@ | ||
name: Publish Bolt crates | ||
on: | ||
release: | ||
types: [ published ] | ||
push: | ||
branches: | ||
- 'release/v*' | ||
workflow_dispatch: | ||
|
||
env: | ||
solana_version: v1.18.1 | ||
anchor_version: 0.29.0 | ||
|
||
jobs: | ||
install: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: actions/cache@v4 | ||
name: cache solana cli | ||
id: cache-solana | ||
with: | ||
path: | | ||
~/.cache/solana/ | ||
~/.local/share/solana/ | ||
key: solana-${{ runner.os }}-v0000-${{ env.solana_version }} | ||
|
||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20 | ||
|
||
- name: install essentials | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y pkg-config build-essential libudev-dev | ||
npm install --global yarn | ||
- name: Cache node dependencies | ||
uses: actions/cache@v3 | ||
with: | ||
path: '**/node_modules' | ||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} | ||
|
||
- name: install node_modules | ||
run: | | ||
export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" | ||
yarn --frozen-lockfile --network-concurrency 2 | ||
- name: install rust | ||
uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
|
||
- name: Cache rust | ||
uses: Swatinem/rust-cache@v2 | ||
|
||
- name: install solana | ||
if: steps.cache-solana.outputs.cache-hit != 'true' | ||
run: | | ||
sh -c "$(curl -sSfL https://release.solana.com/${{ env.solana_version }}/install)" | ||
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH" | ||
solana --version | ||
clippy-lint: | ||
needs: install | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Cache rust | ||
uses: Swatinem/rust-cache@v2 | ||
- name: Run fmt | ||
run: cargo fmt -- --check | ||
- name: Run clippy | ||
run: cargo clippy -- --deny=warnings | ||
|
||
yarn-lint: | ||
needs: install | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Use Node ${{ matrix.node }} | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20 | ||
|
||
- name: Cache node dependencies | ||
uses: actions/cache@v4 | ||
with: | ||
path: '**/node_modules' | ||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} | ||
|
||
- name: Run lint | ||
run: yarn lint | ||
|
||
test-and-publish: | ||
needs: [clippy-lint, yarn-lint] | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: install rust | ||
uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: stable | ||
|
||
- name: Cache rust | ||
uses: Swatinem/rust-cache@v2 | ||
|
||
- uses: actions/checkout@v4 | ||
|
||
- name: Set DRY_RUN based on trigger | ||
run: echo "DRY_RUN=true" >> $GITHUB_ENV | ||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/heads/release/v') | ||
|
||
- name: Use Node ${{ matrix.node }} | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20 | ||
|
||
- name: Cache node dependencies | ||
uses: actions/cache@v3 | ||
with: | ||
path: '**/node_modules' | ||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} | ||
- name: install node_modules | ||
run: | | ||
export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" | ||
yarn --frozen-lockfile | ||
- uses: actions/cache@v4 | ||
name: cache solana cli | ||
id: cache-solana | ||
with: | ||
path: | | ||
~/.cache/solana/ | ||
~/.local/share/solana/ | ||
key: solana-${{ runner.os }}-v0000-${{ env.solana_version }} | ||
|
||
- name: setup solana | ||
run: | | ||
export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" | ||
solana --version | ||
solana-keygen new --silent --no-bip39-passphrase | ||
- name: Set deployments keys | ||
run: | | ||
mkdir -p target/deploy | ||
echo ${{ secrets.WORLD }} > target/deploy/world-keypair.json | ||
echo ${{ secrets.BOLT_COMPONENT }} > target/deploy/bolt_component-keypair.json | ||
echo ${{ secrets.BOLT_SYSTEM }} > target/deploy/bolt_system-keypair.json | ||
echo ${{ secrets.COMPONENT_POSITION }} > target/deploy/component_position-keypair.json | ||
echo ${{ secrets.COMPONENT_VELOCITY }} > target/deploy/component_velocity-keypair.json | ||
echo ${{ secrets.SYSTEM_APPLY_VELOCITY }} > target/deploy/system_apply_velocity-keypair.json | ||
echo ${{ secrets.SYSTEM_FLY }} > target/deploy/system_fly-keypair.json | ||
echo ${{ secrets.SYSTEM_SIMPLE_MOVEMENT }} > target/deploy/system_simple_movement-keypair.json | ||
- name: Check versions are aligned | ||
run: | | ||
# Fails if versions are not aligned | ||
cargo install git-cliff | ||
./version-align.sh --check | ||
- name: run build | ||
run: | | ||
export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" | ||
cargo install --path cli --force --locked | ||
bolt build | ||
- name: run tests | ||
run: | | ||
export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" | ||
cargo install --path cli --force --locked | ||
bolt test | ||
- name: cargo publish | ||
run: | | ||
DRY_RUN_FLAG="" | ||
if [ "${DRY_RUN}" = "true" ]; then | ||
DRY_RUN_FLAG="--dry-run" | ||
fi | ||
if [ "${DRY_RUN}" = "true" ]; then | ||
NO_VERIFY_FLAG="--no-verify" | ||
fi | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/utils/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/attribute/component/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/attribute/component-deserialize/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/attribute/component-id/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/attribute/system/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/attribute/system-input/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/attribute/extra-accounts/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/attribute/arguments/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/attribute/bolt-program/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-helpers/attribute/system-template/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-helpers/attribute/world-apply/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=programs/bolt-system/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=programs/bolt-component/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=programs/world/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
cargo publish $DRY_RUN_FLAG --manifest-path=crates/bolt-lang/Cargo.toml --token $CRATES_TOKEN $NO_VERIFY_FLAG | ||
env: | ||
CRATES_TOKEN: ${{ secrets.CRATES_TOKEN }} | ||
DRY_RUN: ${{ env.DRY_RUN }} |
Oops, something went wrong.