PaletteSwitcher/.gitea/workflows/ci.yml
Renovate 5b4ecea0db
All checks were successful
Build and deploy / build-wasm (push) Successful in 1m6s
Build and deploy / build-react (push) Successful in 1m10s
Build and deploy / merge (push) Successful in 12s
Build and deploy / Pin to cluster node (push) Successful in 32s
Build and deploy / Update OVH DNS (push) Successful in 2m4s
Update actions/setup-node action to v2.5.2 (#38)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://github.com/actions/setup-node) | action | patch | `v2.5.0` -> `v2.5.2` |

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

### [`v2.5.2`](https://github.com/actions/setup-node/releases/tag/v2.5.2): Update @&#8203;actions/core for v2

[Compare Source](https://github.com/actions/setup-node/compare/v2.5.1...v2.5.2)

In scope of this release we updated actions/core to 1.10.0 and actions/tool-cache to 1.7.2 for v2: https://github.com/actions/setup-node/pull/713

### [`v2.5.1`](https://github.com/actions/setup-node/releases/tag/v2.5.1): Fix logic of error handling for npm warning and uncaught exception

[Compare Source](https://github.com/actions/setup-node/compare/v2.5.0...v2.5.1)

In scope of this release we fix logic of error handling related to caching (https://github.com/actions/setup-node/pull/358) and (https://github.com/actions/setup-node/pull/359).

In the previous behaviour we relied on `stderr` output to throw error. The warning messages from package managers can be written to the stderr's output. For now the action will throw an error only if exit code differs from zero. Besides, we add logic to сatch and log unhandled exceptions.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4xNDIuNSIsInVwZGF0ZWRJblZlciI6IjM4LjE0Mi41IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: #38
Co-authored-by: Renovate <renovate@bruyant.xyz>
Co-committed-by: Renovate <renovate@bruyant.xyz>
2024-11-08 12:06:01 +00:00

129 lines
3.2 KiB
YAML

name: Build and deploy
on:
push:
branches: [master]
jobs:
build-wasm:
runs-on: ubuntu-latest
env:
working_directory: "./src"
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.21
- name: Build
run: go build -v -o main.wasm ./...
working-directory: ${{env.working_directory}}
env:
GOOS: js
GOARCH: wasm
- name: Upload wasm file
uses: actions/upload-artifact@v3
with:
name: wasm
path: ${{env.working_directory}}/main.wasm
build-react:
runs-on: ubuntu-latest
env:
working_directory: "./client"
steps:
- uses: actions/checkout@v2
- name: Setup Node.js environment
uses: actions/setup-node@v2.5.2
with:
node-version-file: .nvmrc
- name: NPM CI
working-directory: ${{env.working_directory}}
run: npm ci
- name: React build
working-directory: ${{env.working_directory}}
run: npm run build
- name: Upload react client
uses: actions/upload-artifact@v3
with:
name: react-app
path: ${{env.working_directory}}/build
merge:
runs-on: ubuntu-latest
needs: [build-wasm, build-react]
env:
working_directory: "./client"
steps:
- name: Download React app
uses: actions/download-artifact@v3
with:
name: react-app
path: app
- name: Download WASM program
uses: actions/download-artifact@v3
with:
name: wasm
path: app
- name: Upload react app
uses: actions/upload-artifact@v3
with:
name: react-app-wasm
path: app
pin:
name: Pin to cluster node
needs: merge
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
outputs:
cid: ${{ steps.pin.outputs.cid }}
steps:
- uses: actions/download-artifact@v3
with:
name: react-app-wasm
path: app
- name: pin
id: pin
uses: docker://gitea.bruyant.xyz/alexandre/ipfs-node-pin:1.0.1
with:
ipfs_host: "ipfs-api.ipfs.svc"
ipfs_port: "5001"
path_to_add: app
- name: print CID
run: echo ${{ steps.pin.outputs.cid }}
update-dns:
name: Update OVH DNS
needs: [pin]
runs-on: ubuntu-latest
steps:
- name: OVH alter DNS record
uses: CrispyBaguette/ovh-dns-alter-action@v1.1.1
with:
application-key: ${{ secrets.OVH_APPLICATION_KEY }}
application-secret: ${{ secrets.OVH_APPLICATION_SECRET }}
consumer-key: ${{ secrets.OVH_CONSUMER_KEY }}
dns-zone: bruyant.xyz
record-id: 5218627602
target: "dnslink=/ipfs/${{ needs.pin.outputs.cid }}"
- name: OVH refresh DNS zone
uses: CrispyBaguette/ovh-dns-refresh-action@v1.0.1
with:
application-key: ${{ secrets.OVH_APPLICATION_KEY }}
application-secret: ${{ secrets.OVH_APPLICATION_SECRET }}
consumer-key: ${{ secrets.OVH_CONSUMER_KEY }}
dns-zone: bruyant.xyz