Skip to content

Commit b6a8967

Browse files
authored
feat: rename generative-art set (#29)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Updated workflow configurations to reflect new job name `solidity-token-erc721-generative-art`. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
0 parents  commit b6a8967

File tree

137 files changed

+45788
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+45788
-0
lines changed

.github/labeler.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version: v1
2+
3+
labels:
4+
- label: 'feat'
5+
matcher:
6+
title: '^feat:.*'
7+
- label: 'fix'
8+
matcher:
9+
title: '^fix:.*'
10+
- label: 'chore'
11+
matcher:
12+
title: '^chore:.*'
13+
- label: 'docs'
14+
matcher:
15+
title: '^docs:.*'

.github/release.yaml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
changelog:
2+
categories:
3+
- title: Breaking Changes 🛠
4+
labels:
5+
- breaking-change
6+
- title: Exciting New Features 🎉
7+
labels:
8+
- feat
9+
- title: Important Bug Fixes 🐛
10+
labels:
11+
- fix
12+
- title: Documentation 📚
13+
labels:
14+
- docs
15+
- title: Other changes 🏗️
16+
labels:
17+
- chore
18+
- title: Dependencies 📦
19+
labels:
20+
- dependencies

.github/renovate.json

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": [
4+
"config:recommended",
5+
":gitSignOff",
6+
":pinVersions",
7+
":semanticCommits",
8+
":semanticCommitTypeAll(chore)",
9+
":enableVulnerabilityAlerts",
10+
":combinePatchMinorReleases",
11+
":prConcurrentLimitNone",
12+
":prHourlyLimitNone",
13+
"security:openssf-scorecard",
14+
"schedule:nonOfficeHours",
15+
"group:all"
16+
],
17+
"labels": [
18+
"dependencies"
19+
],
20+
"rebaseWhen": "conflicted",
21+
"packageRules": [],
22+
"hostRules": [
23+
{
24+
"timeout": 3000000
25+
}
26+
]
27+
}

.github/scripts/comment.js

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
module.exports = async ({ github, context, header, body }) => {
2+
const comment = [header, body].join("\n");
3+
4+
const { data: comments } = await github.rest.issues.listComments({
5+
owner: context.repo.owner,
6+
repo: context.repo.repo,
7+
issue_number: context.payload.number,
8+
});
9+
10+
const botComment = comments.find(
11+
(comment) =>
12+
// github-actions bot user
13+
comment.user.id === 41898282 && comment.body.startsWith(header)
14+
);
15+
16+
const commentFn = botComment ? "updateComment" : "createComment";
17+
18+
await github.rest.issues[commentFn]({
19+
owner: context.repo.owner,
20+
repo: context.repo.repo,
21+
body: comment,
22+
...(botComment
23+
? { comment_id: botComment.id }
24+
: { issue_number: context.payload.number }),
25+
});
26+
};

.github/workflows/pr-labels.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: PR Labels
2+
3+
on:
4+
pull_request:
5+
types: [opened, closed]
6+
branches:
7+
- main
8+
9+
permissions:
10+
actions: write
11+
checks: write
12+
contents: write
13+
deployments: write
14+
id-token: write
15+
issues: write
16+
discussions: write
17+
packages: write
18+
pages: write
19+
pull-requests: write
20+
repository-projects: write
21+
security-events: write
22+
statuses: write
23+
24+
jobs:
25+
labels:
26+
#runs-on: ubuntu-latest
27+
runs-on: namespace-profile-btp-scs
28+
steps:
29+
- uses: fuxingloh/multi-labeler@v4

.github/workflows/solidity.yml

+219
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
name: Branch
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
push:
8+
branches:
9+
- main
10+
tags:
11+
- "v*"
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
permissions:
18+
actions: write
19+
checks: write
20+
contents: write
21+
deployments: write
22+
id-token: write
23+
issues: write
24+
discussions: write
25+
packages: write
26+
pages: write
27+
pull-requests: write
28+
repository-projects: write
29+
security-events: write
30+
statuses: write
31+
32+
jobs:
33+
codescanning:
34+
name: Code Scanning
35+
#runs-on: ubuntu-latest
36+
runs-on: namespace-profile-btp-scs
37+
container:
38+
image: returntocorp/semgrep
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@v4
42+
with:
43+
submodules: recursive
44+
45+
- name: Install canvas dependencies
46+
run: |
47+
apk update
48+
apk add --no-cache cairo-dev jpeg-dev pango-dev giflib-dev build-base g++ pkgconfig
49+
50+
- uses: crytic/[email protected]
51+
id: slither
52+
with:
53+
sarif: slither.sarif
54+
slither-args: --filter-paths "lib/" --filter-paths "node_modules/"
55+
solc-version: 0.8.24
56+
fail-on: none
57+
58+
- name: Upload findings to GitHub Advanced Security Dashboard
59+
uses: github/codeql-action/upload-sarif@v3
60+
with:
61+
sarif_file: ${{ steps.slither.outputs.sarif }}
62+
if: always()
63+
64+
test:
65+
services:
66+
foundry:
67+
image: ghcr.io/settlemint/btp-anvil-test-node:latest
68+
ports:
69+
- '8545:8545'
70+
name: Test
71+
#runs-on: ubuntu-latest
72+
runs-on: namespace-profile-btp-scs
73+
steps:
74+
- name: Checkout
75+
uses: actions/checkout@v4
76+
with:
77+
submodules: recursive
78+
79+
- name: Install Foundry
80+
uses: foundry-rs/foundry-toolchain@v1
81+
with:
82+
version: nightly
83+
84+
- uses: actions/setup-node@v4
85+
with:
86+
node-version: 20
87+
88+
- name: Install Node dependencies
89+
run: npm install
90+
91+
- name: Run Forge build
92+
run: |
93+
forge --version
94+
forge build --sizes
95+
96+
- name: Run Hardhat build
97+
run: |
98+
npx hardhat compile
99+
100+
- name: Run Forge tests
101+
run: |
102+
forge test -vvv
103+
104+
- name: Run Hardhat test
105+
run: |
106+
npx hardhat test
107+
108+
- name: Setup LCOV
109+
if: github.ref_name != 'main'
110+
uses: hrishikesh-kadam/setup-lcov@v1
111+
112+
- name: Run Forge Coverage
113+
if: github.ref_name != 'main'
114+
run: |
115+
forge coverage --report lcov --report summary
116+
id: coverage
117+
118+
- name: Deploy to the local node
119+
run: |
120+
npx hardhat ignition deploy --network localhost ignition/modules/main.ts
121+
122+
- name: Install YQ
123+
uses: alexellis/arkade-get@master
124+
with:
125+
print-summary: false
126+
yq: latest
127+
128+
- name: Build the subgraph
129+
run: |
130+
if [ ! -d "subgraph" ] || [ -z "$(ls -A subgraph)" ]; then
131+
echo "Subgraph directory is missing or empty"
132+
exit 0
133+
fi
134+
npx graph-compiler --config subgraph/subgraph.config.json --include node_modules/@openzeppelin/subgraphs/src/datasources subgraph/datasources --export-schema --export-subgraph
135+
yq -i e '.specVersion = "1.2.0"' generated/scs.subgraph.yaml
136+
yq -i e '.features = ["nonFatalErrors", "fullTextSearch", "ipfsOnEthereumContracts"]' generated/scs.subgraph.yaml
137+
yq -i e '.dataSources[].mapping.apiVersion = "0.0.7"' generated/scs.subgraph.yaml
138+
yq -i e '.dataSources[].network = "localhost"' generated/scs.subgraph.yaml
139+
yq -i e '.templates[].mapping.apiVersion = "0.0.7"' generated/scs.subgraph.yaml
140+
yq -i e '.templates[].network = "localhost"' generated/scs.subgraph.yaml
141+
npx graph codegen generated/scs.subgraph.yaml
142+
npx graph build generated/scs.subgraph.yaml
143+
144+
- name: Report code coverage
145+
if: github.ref_name != 'main'
146+
uses: zgosalvez/[email protected]
147+
with:
148+
coverage-files: lcov.info
149+
minimum-coverage: 90
150+
github-token: ${{ secrets.GITHUB_TOKEN }}
151+
update-comment: true
152+
153+
docker:
154+
needs:
155+
- test
156+
name: Docker
157+
#runs-on: ubuntu-latest
158+
runs-on: namespace-profile-btp-scs
159+
steps:
160+
- name: Checkout
161+
uses: actions/checkout@v4
162+
with:
163+
submodules: recursive
164+
165+
- name: Set up QEMU
166+
uses: docker/setup-qemu-action@v3
167+
168+
- name: Set up Docker Buildx
169+
uses: docker/setup-buildx-action@v3
170+
171+
- name: Install Cosign
172+
uses: sigstore/cosign-installer@v3
173+
174+
- name: Login to GitHub Container Registry
175+
uses: docker/login-action@v3
176+
with:
177+
registry: ghcr.io
178+
username: ${{ github.repository_owner }}
179+
password: ${{ secrets.GITHUB_TOKEN }}
180+
181+
- name: Docker meta
182+
id: docker_meta
183+
uses: docker/metadata-action@v5
184+
with:
185+
images: |
186+
ghcr.io/${{ github.repository }}
187+
tags: |
188+
type=schedule
189+
type=ref,event=branch
190+
type=ref,event=pr
191+
type=semver,pattern={{version}}
192+
type=semver,pattern={{major}}.{{minor}}
193+
type=semver,pattern={{major}}
194+
type=sha
195+
196+
- name: Build and push
197+
uses: docker/build-push-action@v6
198+
id: build-and-push
199+
with:
200+
platforms: linux/amd64,linux/arm64
201+
provenance: true
202+
sbom: true
203+
push: true
204+
load: false
205+
tags: ${{ steps.docker_meta.outputs.tags }}
206+
labels: ${{ steps.docker_meta.outputs.labels }}
207+
no-cache: true
208+
209+
210+
- name: Sign the images with GitHub OIDC Token
211+
env:
212+
DIGEST: ${{ steps.build-and-push.outputs.digest }}
213+
TAGS: ${{ steps.docker_meta.outputs.tags }}
214+
run: |
215+
images=""
216+
for tag in ${TAGS}; do
217+
images+="${tag}@${DIGEST} "
218+
done
219+
cosign sign --yes ${images}

.gitignore

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
node_modules
2+
.env
3+
4+
# Hardhat files
5+
/cache
6+
/artifacts
7+
8+
# TypeChain files
9+
/typechain
10+
/typechain-types
11+
12+
# solidity-coverage files
13+
/coverage
14+
/coverage.json
15+
16+
# Hardhat Ignition default folder for deployments against a local node
17+
ignition/deployments/chain-31337
18+
19+
# Compiler files
20+
cache_forge/
21+
out/
22+
23+
# Ignores development broadcast logs
24+
!/broadcast
25+
/broadcast/*/31337/
26+
/broadcast/**/dry-run/
27+
28+
# Docs
29+
docs/
30+
31+
# Dotenv file
32+
.env
33+
34+
# Subgraphs
35+
generated
36+
build
37+
38+
.pnpm

.prettierignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.yaml

0 commit comments

Comments
 (0)