Skip to content

Commit c6253f5

Browse files
committed
Merge branch 'creatorsim-community-master'
2 parents 84c0fd4 + 48b3be4 commit c6253f5

File tree

227 files changed

+4705
-12727
lines changed

Some content is hidden

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

227 files changed

+4705
-12727
lines changed

.github/workflows/creator_workflow.yml

Lines changed: 92 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,35 @@ on:
77
branches: [ "master" ]
88

99
permissions:
10-
contents: read
11-
packages: write
10+
contents: read
11+
packages: write
12+
pages: write # to deploy to Pages
13+
id-token: write # to verify the deployment originates from an appropriate source
14+
15+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
16+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
17+
concurrency:
18+
group: "pages"
19+
cancel-in-progress: false
1220

1321
jobs:
22+
build:
23+
name: Build CREATOR
24+
runs-on: ubuntu-latest
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v4
28+
- name: Build static files
29+
id: build
30+
run: ./mk_min.sh
31+
- name: Upload artifact
32+
uses: actions/upload-pages-artifact@v3
33+
with:
34+
path: '.'
35+
1436
creator-checker:
1537
name: Execute CREATOR Checker
38+
needs: build
1639

1740
runs-on: ubuntu-latest
1841

@@ -21,17 +44,47 @@ jobs:
2144
node-version: [20.x]
2245

2346
steps:
24-
- uses: actions/checkout@v4
25-
- name: Use Node.js ${{ matrix.node-version }}
26-
uses: actions/setup-node@v4
27-
with:
28-
node-version: ${{ matrix.node-version }}
29-
cache: 'npm'
30-
- name: Install dependencies
31-
run: npm ci
32-
- run: npm run build --if-present
33-
- run: npm run test-creator-node
47+
- uses: pyTooling/download-artifact@v4
48+
with:
49+
name: github-pages
50+
tarball-name: artifact.tar
51+
path: .
52+
- name: Use Node.js ${{ matrix.node-version }}
53+
uses: actions/setup-node@v4
54+
with:
55+
node-version: ${{ matrix.node-version }}
56+
cache: 'npm'
57+
- name: Install dependencies
58+
run: npm ci
59+
- run: npm run build --if-present
60+
- run: npm run test-creator-node
61+
62+
deploy-pages-beta:
63+
name: Deploy CREATOR to GitHub Pages (development)
64+
runs-on: ubuntu-latest
65+
needs: build
66+
if: github.event_name != 'pull_request' && github.repository != 'creatorsim/creator'
67+
# Deploy to the github-pages environment
68+
environment:
69+
name: github-pages
70+
url: ${{ steps.deployment.outputs.page_url }}
71+
steps:
72+
- name: Deploy to GitHub Pages
73+
uses: actions/deploy-pages@v4
3474

75+
deploy-pages-stable:
76+
name: Deploy CREATOR to GitHub Pages (stable)
77+
runs-on: ubuntu-latest
78+
needs: creator-checker
79+
if: github.event_name != 'pull_request' && github.repository == 'creatorsim/creator'
80+
# Deploy to the github-pages environment
81+
environment:
82+
name: github-pages
83+
url: ${{ steps.deployment.outputs.page_url }}
84+
steps:
85+
- name: Deploy to GitHub Pages
86+
uses: actions/deploy-pages@v4
87+
3588
build-creator-cl:
3689
name: Build creator_cl Docker Image
3790
needs: creator-checker
@@ -50,7 +103,11 @@ jobs:
50103
large-packages: true
51104
docker-images: false
52105
swap-storage: true
53-
- uses: actions/checkout@v4
106+
- uses: pyTooling/download-artifact@v4
107+
with:
108+
name: github-pages
109+
tarball-name: artifact.tar
110+
path: .
54111
- name: Set up QEMU
55112
uses: docker/setup-qemu-action@v3
56113
with:
@@ -60,12 +117,12 @@ jobs:
60117
- name: Login to GitHub Package Registry
61118
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
62119
- name: Build & Push Docker image
63-
run: cd ./dockers/command_line/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/creator_cl:${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/creator_cl -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
120+
run: cd ./dockers/command_line/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_cl:${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_cl -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
64121

65122
push-creator-cl:
66123
name: Push creator_cl Docker Image
67124
needs: build-creator-cl
68-
if: github.event_name != 'pull_request' && github.repository_owner == 'creatorsim'
125+
if: github.event_name != 'pull_request' && github.repository == 'creatorsim/creator'
69126

70127
runs-on: ubuntu-latest
71128

@@ -77,8 +134,8 @@ jobs:
77134
- name: Re-tag & Push Docker Image to Docker Hub
78135
run: |
79136
chmod +r $HOME/.docker/config.json
80-
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_cl:${GITHUB_SHA} docker.io/creatorsim/creator_cl:${GITHUB_SHA}
81-
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_cl docker.io/creatorsim/creator_cl
137+
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_cl:${GITHUB_SHA} docker.io/creatorsim/creator_cl:${GITHUB_SHA}
138+
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_cl docker.io/creatorsim/creator_cl
82139
83140
build-creator-gateway:
84141
name: Build creator_gateway Docker Image
@@ -98,7 +155,11 @@ jobs:
98155
large-packages: true
99156
docker-images: false
100157
swap-storage: true
101-
- uses: actions/checkout@v4
158+
- uses: pyTooling/download-artifact@v4
159+
with:
160+
name: github-pages
161+
tarball-name: artifact.tar
162+
path: .
102163
- name: Set up QEMU
103164
uses: docker/setup-qemu-action@v3
104165
with:
@@ -108,12 +169,12 @@ jobs:
108169
- name: Login to GitHub Package Registry
109170
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
110171
- name: Build & Push Docker image
111-
run: cd ./dockers/gateway/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/creator_gateway:${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/creator_gateway -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
172+
run: cd ./dockers/gateway/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_gateway:${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_gateway -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
112173

113174
push-creator-gateway:
114175
name: Push creator_gateway Docker Image
115176
needs: build-creator-gateway
116-
if: github.event_name != 'pull_request' && github.repository_owner == 'creatorsim'
177+
if: github.event_name != 'pull_request' && github.repository == 'creatorsim/creator'
117178

118179
runs-on: ubuntu-latest
119180

@@ -125,8 +186,8 @@ jobs:
125186
- name: Re-tag & Push Docker Image to Docker Hub
126187
run: |
127188
chmod +r $HOME/.docker/config.json
128-
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_gateway:${GITHUB_SHA} docker.io/creatorsim/creator_gateway:${GITHUB_SHA}
129-
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_gateway docker.io/creatorsim/creator_gateway
189+
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_gateway:${GITHUB_SHA} docker.io/creatorsim/creator_gateway:${GITHUB_SHA}
190+
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_gateway docker.io/creatorsim/creator_gateway
130191
131192
build-creator-hw-lab:
132193
name: Build creator_remote_lab Docker Image
@@ -146,7 +207,11 @@ jobs:
146207
large-packages: true
147208
docker-images: false
148209
swap-storage: true
149-
- uses: actions/checkout@v4
210+
- uses: pyTooling/download-artifact@v4
211+
with:
212+
name: github-pages
213+
tarball-name: artifact.tar
214+
path: .
150215
- name: Set up QEMU
151216
uses: docker/setup-qemu-action@v3
152217
with:
@@ -156,12 +221,12 @@ jobs:
156221
- name: Login to GitHub Package Registry
157222
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
158223
- name: Build & Push Docker image
159-
run: cd ./dockers/remote_lab/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/creator_remote_lab:${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/creator_remote_lab -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
224+
run: cd ./dockers/remote_lab/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_remote_lab:${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_remote_lab -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 .
160225

161226
push-creator-hw-lab:
162227
name: Push creator_remote_lab Docker Image
163228
needs: build-creator-hw-lab
164-
if: github.event_name != 'pull_request' && github.repository_owner == 'creatorsim'
229+
if: github.event_name != 'pull_request' && github.repository == 'creatorsim/creator'
165230

166231
runs-on: ubuntu-latest
167232

@@ -173,5 +238,5 @@ jobs:
173238
- name: Re-tag & Push Docker Image to Docker Hub
174239
run: |
175240
chmod +r $HOME/.docker/config.json
176-
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_remote_lab:${GITHUB_SHA} docker.io/creatorsim/creator_remote_lab:${GITHUB_SHA}
177-
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_remote_lab docker.io/creatorsim/creator_remote_lab
241+
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_remote_lab:${GITHUB_SHA} docker.io/creatorsim/creator_remote_lab:${GITHUB_SHA}
242+
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}_creator_remote_lab docker.io/creatorsim/creator_remote_lab

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
node_modules
2+
js/min.creator_node.js
3+
js/min.creator_web.js

README.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,20 @@
4343

4444
### 2025
4545

46+
<details>
47+
<summary>:newspaper: Simulador web para RISC-V basado en la especificación SAIL</summary>
48+
49+
* Conference paper: Jornadas Sarteco
50+
* Authors: Juan Carlos Cano-Resa, Félix García-Carballeira, Diego Camarmas-Alonso, Alejandro Calderón-Mateos
51+
</details>
52+
53+
<details>
54+
<summary>:newspaper: Extensión del simulador CREATOR para integrar funcionalidades de Arduino: caso de estudio con el microcontrolador ESP32</summary>
55+
56+
* Conference paper: Jornadas Sarteco
57+
* Authors: Elisa Utrilla-Arroyo, Diego Camarmas-Alonso, Félix García-Carballeira, Alejandro Calderón-Mateos
58+
</details>
59+
4660
<details>
4761
<summary>:newspaper: CREATOR: un entorno de desarrollo integrado para la docencia y la investigación en procesadores RISC-V</summary>
4862

@@ -182,6 +196,17 @@
182196
## ChangeLog
183197

184198
<details open>
199+
<summary>:atom: 5.0.x:</summary>
200+
201+
- [x] New functionality:
202+
* New compiler based on Rust
203+
* New architecture editor based on CodeMirror
204+
- [x] User Interface:
205+
* Several improvements and minor bugs fixed
206+
207+
</details>
208+
209+
<details>
185210
<summary>:atom: 4.1.x:</summary>
186211

187212
- [x] New functionality:
@@ -192,8 +217,6 @@
192217

193218
</details>
194219

195-
196-
197220
<details>
198221
<summary>:atom: 4.0.x:</summary>
199222

0 commit comments

Comments
 (0)