From 5560bd8b100899126fabbc42b320bf7b8ef14930 Mon Sep 17 00:00:00 2001 From: Fiiranek Date: Mon, 2 Dec 2024 18:18:49 +0100 Subject: [PATCH 1/6] Add example with caching --- README.md | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8292751..ee7eef2 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: foundry-rs/setup-snfoundry@v3 - - run: snforge + - name: Setup Starknet Foundry + uses: foundry-rs/setup-snfoundry@v3 + - name: Check versions + run: | + snforge --version + sncast --version ``` ## Inputs @@ -35,4 +39,33 @@ jobs: subdirectory (`${{ steps.setup-starknet-foundry.outputs.starknet-foundry-prefix }}/bin`). - `starknet-foundry-version` - Version of Starknet Foundry that was installed (as reported by `snforge -V`). +## Caching + +In order to optimalize the workflow, you should cache the Starknet Foundry installation. Here is an example of how to do it: + +```yaml +name: My workflow +on: + push: + pull_request: +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup Starknet Foundry + id: setup-snfoundry + uses: foundry-rs/setup-snfoundry@v3 + - name: Check versions + run: | + snforge --version + sncast --version + - name: Cache Starknet Foundry installation + uses: actions/cache@v3 + with: + path: ${{ steps.setup-snfoundry.outputs.starknet-foundry-prefix }} + key: ${{ runner.os }}-snfoundry-${{ steps.setup-snfoundry.outputs.starknet-foundry-version }} +``` + + [Starknet Foundry]: https://foundry-rs.github.io/starknet-foundry From a630de711af2b064e0c44e9a2fdbb419f2badf24 Mon Sep 17 00:00:00 2001 From: Fiiranek Date: Tue, 3 Dec 2024 11:44:04 +0100 Subject: [PATCH 2/6] Update actions versions --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ee7eef2..aab8bd2 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ jobs: check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Starknet Foundry uses: foundry-rs/setup-snfoundry@v3 - name: Check versions @@ -52,7 +52,7 @@ jobs: check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Starknet Foundry id: setup-snfoundry uses: foundry-rs/setup-snfoundry@v3 @@ -61,7 +61,7 @@ jobs: snforge --version sncast --version - name: Cache Starknet Foundry installation - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ steps.setup-snfoundry.outputs.starknet-foundry-prefix }} key: ${{ runner.os }}-snfoundry-${{ steps.setup-snfoundry.outputs.starknet-foundry-version }} From 049583294f02fd33a4e87298e9ace82e4f0f70b9 Mon Sep 17 00:00:00 2001 From: Fiiranek Date: Tue, 3 Dec 2024 11:46:23 +0100 Subject: [PATCH 3/6] Format --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index aab8bd2..ec153d7 100644 --- a/README.md +++ b/README.md @@ -67,5 +67,4 @@ jobs: key: ${{ runner.os }}-snfoundry-${{ steps.setup-snfoundry.outputs.starknet-foundry-version }} ``` - [Starknet Foundry]: https://foundry-rs.github.io/starknet-foundry From fc873c05b2ca2d79da9af99045149dfc68f97fdd Mon Sep 17 00:00:00 2001 From: Fiiranek Date: Tue, 10 Dec 2024 17:39:36 +0100 Subject: [PATCH 4/6] Update example workflow --- README.md | 47 ++++++++++++++++------------------------------- 1 file changed, 16 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index ec153d7..fddf0af 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,14 @@ Sets up [Starknet Foundry] in your GitHub Actions workflow supporting caching out of the box. + +> 📝 **Note** +> At this moment, only Linux and MacOS are supported. + ## Example workflow +Make sure you pass the valid path to `Scarb.lock` to [setup-scarb](https://github.com/marketplace/actions/setup-scarb) action. This way, all dependencies including snforge_scarb_plugin will be cached between runs. + ```yaml name: My workflow on: @@ -14,12 +20,17 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Setup Starknet Foundry uses: foundry-rs/setup-snfoundry@v3 - - name: Check versions - run: | - snforge --version - sncast --version + + - name: Setup Scarb + uses: software-mansion/setup-scarb@v1 + with: + scarb-lock: ./hello_starknet/Scarb.lock + + - name: Run tests + run: cd hello_starknet && snforge test ``` ## Inputs @@ -39,32 +50,6 @@ jobs: subdirectory (`${{ steps.setup-starknet-foundry.outputs.starknet-foundry-prefix }}/bin`). - `starknet-foundry-version` - Version of Starknet Foundry that was installed (as reported by `snforge -V`). -## Caching - -In order to optimalize the workflow, you should cache the Starknet Foundry installation. Here is an example of how to do it: - -```yaml -name: My workflow -on: - push: - pull_request: -jobs: - check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Setup Starknet Foundry - id: setup-snfoundry - uses: foundry-rs/setup-snfoundry@v3 - - name: Check versions - run: | - snforge --version - sncast --version - - name: Cache Starknet Foundry installation - uses: actions/cache@v4 - with: - path: ${{ steps.setup-snfoundry.outputs.starknet-foundry-prefix }} - key: ${{ runner.os }}-snfoundry-${{ steps.setup-snfoundry.outputs.starknet-foundry-version }} -``` +For more information, visit [Starknet Foundry docs section](https://foundry-rs.github.io/starknet-foundry/testing/running-tests.html) dedicated to CI setup. [Starknet Foundry]: https://foundry-rs.github.io/starknet-foundry From b58241aa95967e69e1e224fc94b3b4cff1bcf108 Mon Sep 17 00:00:00 2001 From: Fiiranek Date: Tue, 10 Dec 2024 17:40:36 +0100 Subject: [PATCH 5/6] Format --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index fddf0af..d2362a8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@ Sets up [Starknet Foundry] in your GitHub Actions workflow supporting caching out of the box. - > 📝 **Note** > At this moment, only Linux and MacOS are supported. From baf478e344425ce421b65637ed89d0dae80e60fd Mon Sep 17 00:00:00 2001 From: Fiiranek Date: Tue, 10 Dec 2024 17:41:39 +0100 Subject: [PATCH 6/6] Update docs link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d2362a8..f8fbdb8 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,6 @@ jobs: subdirectory (`${{ steps.setup-starknet-foundry.outputs.starknet-foundry-prefix }}/bin`). - `starknet-foundry-version` - Version of Starknet Foundry that was installed (as reported by `snforge -V`). -For more information, visit [Starknet Foundry docs section](https://foundry-rs.github.io/starknet-foundry/testing/running-tests.html) dedicated to CI setup. +For more information, visit [Starknet Foundry docs section](https://foundry-rs.github.io/starknet-foundry/appendix/starknet-foundry-github-action.html) dedicated to CI setup. [Starknet Foundry]: https://foundry-rs.github.io/starknet-foundry