Skip to content

Commit

Permalink
feat: create pipeline to build multiple version
Browse files Browse the repository at this point in the history
  • Loading branch information
arnoweiss committed Dec 17, 2024
1 parent 561f832 commit 74ea5ef
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 31 deletions.
30 changes: 30 additions & 0 deletions .github/scripts/checkout-tags.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash

mkdir -p HEAD
git fetch --all --tags
tags_string=$(git tag)
echo got tag string
echo $tags_string
tags_array=($tags_string)
mv * HEAD
for tag in "${tags_array[@]}"
do
echo starting with tag $tag
mkdir $tag
cd $tag
git clone https://github.com/eclipse-dataspace-dcp/decentralized-claims-protocol.git --depth 1 --branch ${tag} --quiet
pwd
mv ./decentralized-claims-protocol/* .
cd ..
done
pwd
for dir in */; do
if [ -f "$dir/index.html" ]; then
echo "index exists."
mkdir -p $dir/resources
cp -r $dir/artifacts/src/main/resources/* $dir/resources
rm -rf $dir/artifacts
else
echo "index does not exist. No copy operations"
fi
done
14 changes: 14 additions & 0 deletions .github/scripts/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="refresh"
content="0;url=https://eclipse-dataspace-dcp.github.io/decentralized-claims-protocol/HEAD"/>
<link rel="canonical" href="https://eclipse-dataspace-dcp.github.io/decentralized-claims-protocol/HEAD"/>
</head>
<body>
<h4>
This redirects to the latest working draft <a href="https://eclipse-dataspace-dcp.github.io/decentralized-claims-protocol/HEAD">here</a>
</h4>
</body>
</html>
14 changes: 5 additions & 9 deletions .github/workflows/autopublish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,12 @@ jobs:
- uses: actions/setup-node@v4
with:
node-version: 22.x
- name: Copy assets up a level
- name: Create Release folders
run: |
cp specifications/*.png .
cp specifications/*.yaml .
mkdir -p resources/v1.0
cp -r artifacts/src/main/resources/* resources/v1.0
rm -rf artifacts
- name: Run Respec
run:
npx respec --src index.html --out index.html.build.html -t 60 --disable-sandbox --verbose
chmod +x .github/scripts/checkout-tags.sh
./.github/scripts/checkout-tags.sh
- name: Redirect top to head
run: cp .github/scripts/index.html .
- uses: actions/upload-pages-artifact@v3
with:
path: .
Expand Down
30 changes: 15 additions & 15 deletions specifications/credential.issuance.protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ where a manual workflow is required.
The following sequence diagram depicts a non-normative flow where a client interacts with a [=Credential Issuer=] to
issue a [=Verifiable Credential=]:

![Issuance Flow](issuance.flow.png "Inssuance Flow")
![Issuance Flow](specifications/issuance.flow.png "Issuance Flow")

1. The client sends a request to its [=Secure Token Service=] for a [=Self-Issued ID Token=]. The API used to make this
request is implementation specific. The client may include a set of scopes that define the [=Verifiable Credentials=]
Expand Down Expand Up @@ -91,16 +91,16 @@ Self-Issued ID Token to provide the pre-authorization code to the issuer.

| | |
|--------------|-------------------------------------------------------------------------------------|
| **Schema** | [JSON Schema](./resources/v0.8/issuance/credential-request-message-schema.json) |
| **Required** | - `@context`: Specifies a valid Json-Ld context ([[json-ld11]], sect. 3.1).> |
| **Schema** | [JSON Schema](./resources/issuance/credential-request-message-schema.json) |
| **Required** | - `@context`: Specifies a valid Json-Ld context ([[json-ld11]], sect. 3.1). |
| | - `@type`: A string specifying the `CredentialRequestMessage` type |
| | - `format`: A JSON string that describes the format of the credential to be issued |
| | - `type`: A JSON array of strings that specifies the VC type being requested |

The following is a non-normative example of a `CredentialRequestMessage`:

<aside class="example" title="CredentialRequestMessage">
<pre class="json" data-include="./resources/v0.8/issuance/example/credential-request-message.json">
<pre class="json" data-include="./resources/issuance/example/credential-request-message.json">
</pre>
</aside>

Expand Down Expand Up @@ -135,7 +135,7 @@ exact error code is implementation-specific.

| | |
|--------------|----------------------------------------------------------------------------------------------------------------------|
| **Schema** | [JSON Schema](./resources/v0.8/issuance/credential-message-schema.json) |
| **Schema** | [JSON Schema](./resources/issuance/credential-message-schema.json) |
| **Required** | - `@context`: Specifies a valid Json-Ld context ([[json-ld11]], sect. 3.1) |
| | - `@type`: A string specifying the `Credential Message` type. |
| | - `requestId`: A string corresponding to the issuance request id. |
Expand All @@ -144,7 +144,7 @@ exact error code is implementation-specific.
The following is a non-normative example of the [Credential Message](#credential-message) JSON body:

<aside class="example" title="Credential Message">
<pre class="json" data-include="./resources/v0.8/issuance/example/credential-message.json">
<pre class="json" data-include="./resources/issuance/example/credential-message.json">
</pre>
</aside>

Expand All @@ -156,7 +156,7 @@ The [Credential Container](#credential-container) object contains the following

| | |
|--------------|---------------------------------------------------------------------------------------------------------------------------------|
| **Schema** | [JSON Schema](./resources/v0.8/issuance/credential-message-schema.json) |
| **Schema** | [JSON Schema](./resources/issuance/credential-message-schema.json) |
| **Required** | - `@type`: A string specifying the `CredentialContainer` type. |
| | - `payload`: A Json Literal ([[json-ld11]], sect. 4.2.2) containing a [=Verifiable Credential=] defined by ([[vc-data-model]]). |

Expand Down Expand Up @@ -185,7 +185,7 @@ a [=Verifiable Credential=] offer.

| | |
|--------------|--------------------------------------------------------------------------------------------------------------------|
| **Schema** | [JSON Schema](./resources/v0.8/issuance/credential-offer-message-schema.json) |
| **Schema** | [JSON Schema](./resources/issuance/credential-offer-message-schema.json) |
| **Required** | - `@context`: Specifies a valid Json-Ld context ([[json-ld11]], sect. 3.1) |
| | - `@type`: A string specifying the `CredentialOfferMessage` type |
| | - `credentialIssuer`: The [=Credential Issuer=] DID |
Expand All @@ -198,15 +198,15 @@ MUST resolve this string value to the respective object.
The following is a non-normative example of a credential offer request:

<aside class="example" title="CredentialOfferMessage">
<pre class="json" data-include="./resources/v0.8/issuance/example/credential-offer-message.json">
<pre class="json" data-include="./resources/issuance/example/credential-offer-message.json">
</pre>
</aside>

### CredentialObject

| | |
|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Schema** | [JSON Schema](./resources/v0.8/issuance/credential-object-schema.json) |
| **Schema** | [JSON Schema](./resources/issuance/credential-object-schema.json) |
| **Required** | - `@type`: A string specifying the `CredentialObject` type |
| | - `credentialType`: An array of strings defining the type of credential being offered |
| **Optional** | - `@context`: Specifies a valid Json-Ld context ([[json-ld11]], sect. 3.1). As the `credentialObject` is usually embedded, its context is provided by the enveloping object. |
Expand All @@ -218,7 +218,7 @@ The following is a non-normative example of a credential offer request:
The following is a non-normative example of a `CredentialObject`:

<aside class="example" title="CredentialObject">
<pre class="json" data-include="./resources/v0.8/issuance/example/credential-object.json">
<pre class="json" data-include="./resources/issuance/example/credential-object.json">
</pre>
</aside>

Expand All @@ -241,7 +241,7 @@ the endpoint is the base issuer url with the appended path `/.well-known/vci`.

| | |
|--------------|-----------------------------------------------------------------------------|
| **Schema** | [JSON Schema](./resources/v0.8/issuance/issuer-metadata-schema.json) |
| **Schema** | [JSON Schema](./resources/issuance/issuer-metadata-schema.json) |
| **Required** | - `@context`: Specifies a valid Json-Ld context ([[json-ld11]], sect. 3.1). |
| | - `@type`: A string specifying the `IssuerMetadata` type |
| | - `credentialIssuer`: A string containing the [=Credential Issuer=] DID |
Expand All @@ -250,7 +250,7 @@ the endpoint is the base issuer url with the appended path `/.well-known/vci`.
The following is a non-normative example of a `IssuerMetadata` response object:

<aside class="example" title="IssuerMetadata">
<pre class="json" data-include="./resources/v0.8/issuance/example/issuer-metadata.json">
<pre class="json" data-include="./resources/issuance/example/issuer-metadata.json">
</pre>
</aside>

Expand All @@ -274,7 +274,7 @@ with `Bearer` of the request.

| | |
|--------------|-----------------------------------------------------------------------------|
| **Schema** | [JSON Schema](./resources/v0.8/issuance/credential-status-schema.json) |
| **Schema** | [JSON Schema](./resources/issuance/credential-status-schema.json) |
| **Required** | - `@context`: Specifies a valid Json-Ld context ([[json-ld11]], sect. 3.1). |
| | - `@type`: A string specifying the `CredentialStatus` type |
| | - `requestId`: A string corresponding to the request id |
Expand All @@ -283,7 +283,7 @@ with `Bearer` of the request.
The following is a non-normative example of a `CredentialStatus` response object:

<aside class="example" title="CredentialStatus">
<pre class="json" data-include="./resources/v0.8/issuance/example/credential-status.json">
<pre class="json" data-include="./resources/issuance/example/credential-status.json">
</pre>
</aside>

Expand Down
14 changes: 7 additions & 7 deletions specifications/verifiable.presentation.protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ resolve credential-related resources. The protocol also provides a mechanism for
The following sequence diagram depicts a non-normative flow where a client interacts with a [=Verifier=] to present a
[=Verifiable Credential=]:

![alt text 2](auth.flow.png "Presentation Flow")
![alt text 2](specifications/auth.flow.png "Presentation Flow")

1. The client sends a request to its [=Secure Token Service=] for a [=Self-Issued ID Token=]. The API used to make this
request is implementation specific. The client may include a set of scopes that define the [=Verifiable Credentials=]
Expand Down Expand Up @@ -50,7 +50,7 @@ the [=Credential Service=]. The following is a non-normative example of a `Crede
{
"@context": [
"https://www.w3.org/ns/did/v1",
"https://w3id.org/dspace-dcp/v0.8"
"https://w3id.org/dspace-dcp/v1.0"
],
"service": [
{
Expand Down Expand Up @@ -97,7 +97,7 @@ exact error code is implementation-specific.

| | |
|--------------|-------------------------------------------------------------------------------------------------|
| **Schema** | [JSON Schema](./resources/v0.8/presentation/presentation-query-message-schema.json) |
| **Schema** | [JSON Schema](./resources/presentation/presentation-query-message-schema.json) |
| **Required** | - `@context`: Specifies a valid Json-Ld context ([[json-ld11]], sect. 3.1) |
| | - `type`: A string specifying the `PresentationQueryMessage` type. |
| **Optional** | - `scope`: An array of scopes corresponding to Section [[[#scopes]]]. |
Expand All @@ -109,12 +109,12 @@ contain both.
The following are non-normative examples of the JSON body:

<aside class="example" title="PresentationQueryMessage with scope">
<pre class="json" data-include="./resources/v0.8/presentation/example/presentation-query-message.json">
<pre class="json" data-include="./resources/presentation/example/presentation-query-message.json">
</pre>
</aside>

<aside class="example" title="PresentationQueryMessage with presentationDefinition">
<pre class="json" data-include="./resources/v0.8/presentation/example/presentation-query-message-w-presentation-definition.json">
<pre class="json" data-include="./resources/presentation/example/presentation-query-message-w-presentation-definition.json">
</pre>
</aside>

Expand Down Expand Up @@ -162,14 +162,14 @@ denotes read-only access to the VC identified by `8247b87d-8d72-47e1-8128-9ce47e

| | |
|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Schema** | [JSON Schema](./resources/v0.8/presentation/presentation-response-message-schema.json) |
| **Schema** | [JSON Schema](./resources/presentation/presentation-response-message-schema.json) |
| **Required** | - `@context`: Specifies a valid Json-Ld context ([[json-ld11]], sect. 3.1). |
| | - `type`: A string specifying the `PresentationResponseMessage` type. |
| | - `presentation`: An array of [=Verifiable Presentations=]. The [=Verifiable Presentations=] may be strings, JSON objects, or a combination of both depending on the format.</br> |

The following are non-normative examples of the JSON response body:

<aside class="example" title="Presentation Response Message">
<pre class="json" data-include="./resources/v0.8/presentation/example/presentation-response-message.json">
<pre class="json" data-include="./resources/presentation/example/presentation-response-message.json">
</pre>
</aside>

0 comments on commit 74ea5ef

Please sign in to comment.