Skip to content

Commit e5a106c

Browse files
committed
restructures repository to have top-level directories for DH and SSM-Agent
1 parent 5bed4e5 commit e5a106c

33 files changed

+108
-62
lines changed

.github/workflows/artifact.yml

Lines changed: 49 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -78,27 +78,65 @@ jobs:
7878
run: echo "IMAGE_TAG=${{ env.IMAGE_TAG }}" >> $GITHUB_OUTPUT
7979

8080

81-
Test:
81+
Test-DH:
8282
name: ${{ matrix.name }}
8383
runs-on: ubuntu-latest
8484
needs: Build
8585
strategy:
8686
# tests should not be stopped when they fail on one of the OSes:
8787
fail-fast: false
8888
matrix:
89-
name: ["Verify protocol model", "Verify core"]
89+
# name: ["Verify DH protocol model", "Verify DH core", "Verify DH I/O independence", "Verify DH core assumptions"]
90+
name: ["Verify DH protocol model", "Verify DH core"]
9091
include:
91-
- name: "Verify protocol model"
92-
command: "/gobra/verify-model.sh"
92+
- name: "Verify DH protocol model"
93+
command: "/gobra/dh/verify-model.sh"
94+
timeout-minutes: 1
95+
- name: "Verify DH core"
96+
command: "/gobra/dh/verify-core.sh"
97+
timeout-minutes: 5
98+
# - name: "Verify DH I/O independence"
99+
# command: "/gobra/dh/verify-io-independence.sh"
100+
# timeout-minutes: 3
101+
# - name: "Verify DH core assumptions"
102+
# command: "/gobra/dh/verify-core-assumptions.sh"
103+
# timeout-minutes: 3
104+
timeout-minutes: ${{ matrix.timeout-minutes }}
105+
steps:
106+
- name: Download artifact
107+
uses: actions/download-artifact@v4
108+
with:
109+
name: ${{ env.IMAGE_WORKFLOW_ARTIFACT_NAME }}
110+
path: /tmp
111+
112+
- name: Load image
113+
run: docker load --input /tmp/image.tar
114+
115+
- name: ${{ matrix.name }}
116+
run: docker run --entrypoint "/bin/bash" ${{ needs.Build.outputs.IMAGE_TAG }} -c "cp -r model-orig/. model/; cp -r implementation-orig/. implementation/; ${{ matrix.command }}"
117+
118+
119+
Test-SSM-Agent:
120+
name: ${{ matrix.name }}
121+
runs-on: ubuntu-latest
122+
needs: Build
123+
strategy:
124+
# tests should not be stopped when they fail on one of the OSes:
125+
fail-fast: false
126+
matrix:
127+
name: ["Verify SSM Agent protocol model", "Verify SSM Agent core", "Verify SSM Agent I/O independence", "Verify SSM Agent core assumptions"]
128+
include:
129+
- name: "Verify SSM Agent protocol model"
130+
command: "/gobra/ssm-agent/verify-model.sh"
93131
timeout-minutes: 15
94-
- name: "Verify core"
95-
command: "/gobra/verify-core.sh"
132+
- name: "Verify SSM Agent core"
133+
command: "/gobra/ssm-agent/verify-core.sh"
96134
timeout-minutes: 15
97-
- name: "Verify I/O independence"
98-
command: "/gobra/verify-io-independence.sh"
135+
- name: "Verify SSM Agent I/O independence"
136+
command: "/gobra/ssm-agent/verify-io-independence.sh"
99137
timeout-minutes: 10
100-
- name: "Verify core assumptions"
101-
command: "/gobra/verify-core-assumptions.sh"
138+
- name: "Verify SSM Agent core assumptions"
139+
command: "/gobra/ssm-agent/verify-core-assumptions.sh"
102140
timeout-minutes: 10
103141
timeout-minutes: ${{ matrix.timeout-minutes }}
104142
steps:
@@ -117,7 +155,7 @@ jobs:
117155

118156
Publish:
119157
runs-on: ubuntu-latest
120-
needs: [Build, Test]
158+
needs: [Build, Test-DH, Test-SSM-Agent]
121159
timeout-minutes: 5
122160
# set per-job GITHUB_TOKEN permissions such that pushing the Docker image will be possible:
123161
permissions:

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
.idea
33
*.log
44
tmp/
5-
5+
dh-sync/
6+
ssm-agent-sync/
67
argot-proofs/reports/

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[submodule "implementation"]
2-
path = implementation
2+
path = ssm-agent/implementation
33
url = https://github.com/ArquintL/amazon-ssm-agent
44
branch = diodon
55
[submodule "ar-go-tools"]

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@ We require an installation of Docker. The following steps have been tested on ma
2424
- We recommend to adapt the Docker settings to provide sufficient resources to Docker. We have tested our artifact on a 2019 16-inch MacBook Pro with 2.3 GHz 8-Core Intel Core i9 running macOS Sonoma 14.0 and configured Docker to allocate up 16 cores (which includes 8 virtual cores), 6 GB of memory, and 1 GB of swap memory. In case you are using an ARM-based Mac, enable the option "Use Rosetta for x86/amd64 emulation on Apple Silicon" in the Docker Desktop Settings, which is available on macOS 13 or newer. Measurements on an Apple M1 Pro Silicon have shown that performing this additional emulation results in 20-25\% longer verification times compared to those reported in the remainder of this artifact appendix.
2525
- Navigate to a convenient folder, in which directories can be created for the purpose of running this artifact.
2626
- Open a shell at this folder location.
27-
- Create two new folders named `model-sync` and `implementation-sync` by executing:
27+
- Create two new folders named `dh-sync` and `ssm-agent-sync` by executing:
2828
```
29-
mkdir model-sync && mkdir implementation-sync
29+
mkdir dh-sync && mkdir ssm-agent-sync
3030
```
3131
- Download and start the Docker image containing our artifact by executing the following command:
3232
```
33-
docker run -it --platform linux/amd64 --volume $PWD/model-sync:/gobra/model --volume $PWD/implementation-sync:/gobra/implementation ghcr.io/arquintl/diodon-artifact:latest
33+
docker run -it --platform linux/amd64 --volume $PWD/dh-sync:/gobra/dh --volume $PWD/ssm-agent-sync:/gobra/ssm-agent ghcr.io/arquintl/diodon-artifact:latest
3434
```
3535
> ⚠️
3636
> Note that this command results in the Docker container writing files to the two folders `model-sync` and `implementation-sync` on your host machine.

dh/implementation/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.gobra/
2+
local-verify.sh
3+
dh-gobra
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.gradle/
2+
build/
3+
dh-gobra.jar

dh/implementation/verify.sh

Lines changed: 0 additions & 27 deletions
This file was deleted.

dh/model/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
client_session_key.aes

dh/model/generate-spec-config.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22

3-
input_file /Users/arquintlinard/ETH/PhD/gh-artifact/arquintl-diodon-artifact/dh/model/dh.spthy
3+
input_file /Users/arquintlinard/ETH/PhD/gh-artifact/arquintl-diodon-artifact/dh/model/protocol-model.spthy
44

55
base_dir /Users/arquintlinard/ETH/PhD/gh-artifact/arquintl-diodon-artifact/dh/model/generated_iospecs
66
module dh-gobra/verification
File renamed without changes.

0 commit comments

Comments
 (0)