Skip to content

Commit a7bf3c7

Browse files
authored
Update tagged_release.yml (#30)
* Update tagged_release.yml * Update tagged_release.yml * Add workaround to migrate from bamm to samm from import
1 parent f06a691 commit a7bf3c7

File tree

2 files changed

+100
-70
lines changed

2 files changed

+100
-70
lines changed
Lines changed: 82 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
name: "Create Tagged Release"
22

33
on:
4-
push:
5-
tags:
6-
- "v*"
4+
workflow_dispatch:
5+
inputs:
6+
release_version:
7+
description: 'Version number of the release'
8+
required: true
79

810
jobs:
911
gh_tagged_release:
@@ -18,6 +20,11 @@ jobs:
1820
- name: Checkout project
1921
uses: actions/checkout@v3
2022

23+
- name: Setup Git
24+
run: |
25+
git config user.name github-actions
26+
git config user.email [email protected]
27+
2128
- name: Configure Pagefile
2229
if: matrix.os == 'windows-latest'
2330
# Fix for "LINK : fatal error LNK1171: unable to load mspdbcore.dll (error code: 1455)":
@@ -46,19 +53,14 @@ jobs:
4653
restore-keys: |
4754
${{ runner.os }}-maven-
4855
49-
- name: Set maven version on Mac
50-
if: matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest'
56+
- name: Set versions
5157
run: |
52-
tagVersion=${GITHUB_REF/refs\/tags\/v/}
53-
mvn versions:set -DnewVersion=$tagVersion
54-
env:
55-
TOKEN: ${{ secrets.GITHUB_TOKEN }}
58+
release_version=${{ github.event.inputs.release_version }}
59+
release_branch_name=${release_version%.*}.x
60+
echo "release_branch_name=$release_branch_name" >> $GITHUB_ENV
5661
57-
- name: Set maven version on Windows
58-
if: matrix.os == 'windows-latest'
59-
run: |
60-
$tagVersion = ${env:GITHUB_REF} -replace 'refs/tags/v',''
61-
mvn versions:set -DnewVersion="$tagVersion"
62+
- name: Set maven version
63+
run: mvn versions:set -DnewVersion=${{ github.event.inputs.release_version }}
6264
env:
6365
TOKEN: ${{ secrets.GITHUB_TOKEN }}
6466

@@ -81,68 +83,86 @@ jobs:
8183
env:
8284
TOKEN: ${{ secrets.GITHUB_TOKEN }}
8385

84-
- name: Create GitHub release (Mac)
85-
if: ${{ (matrix.os == 'macos-latest') && (!contains( github.ref, '-M' )) }}
86-
uses: svenstaro/upload-release-action@latest
86+
- name: "Create GitHub release Mac (full)"
87+
if: ${{ (matrix.os == 'macos-latest') && (!contains( github.ref, '-rc' )) }}
88+
uses: softprops/action-gh-release@v1
89+
id: esmf_ame_mac_release
8790
with:
88-
file_glob: true
89-
overwrite: true
91+
body: "Release version ${{ github.event.inputs.release_version }}."
92+
tag_name: v${{ github.event.inputs.release_version }}
93+
target_commitish: ${{ env.release_branch_name }}
94+
draft: false
9095
prerelease: false
91-
repo_token: ${{ secrets.GITHUB_TOKEN }}
92-
file: target/ame-backend!(*.txt)-mac
93-
tag: ${{ github.ref }}
96+
files: target/ame-backend!(*.txt)-mac
97+
env:
98+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9499

95-
- name: Create GitHub pre-release (Mac)
96-
if: ${{ (matrix.os == 'macos-latest') && (contains( github.ref, '-M' )) }}
97-
uses: svenstaro/upload-release-action@latest
100+
- name: "Create GitHub pre-release Mac (full)"
101+
if: ${{ (matrix.os == 'macos-latest') && (contains( github.ref, '-rc' )) }}
102+
uses: softprops/action-gh-release@v1
103+
id: esmf_ame_mac_release
98104
with:
99-
file_glob: true
100-
overwrite: true
105+
body: "Release version ${{ github.event.inputs.release_version }}."
106+
tag_name: v${{ github.event.inputs.release_version }}
107+
target_commitish: ${{ env.release_branch_name }}
108+
draft: false
101109
prerelease: true
102-
repo_token: ${{ secrets.GITHUB_TOKEN }}
103-
file: target/ame-backend!(*.txt)-mac
104-
tag: ${{ github.ref }}
110+
files: target/ame-backend!(*.txt)-mac
111+
env:
112+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
105113

106-
- name: Create GitHub release (Linux)
107-
if: ${{ (matrix.os == 'ubuntu-latest') && (!contains( github.ref, '-M' )) }}
108-
uses: svenstaro/upload-release-action@latest
114+
- name: "Create GitHub release Linux (full)"
115+
if: ${{ (matrix.os == 'ubuntu-latest') && (!contains( github.ref, '-rc' )) }}
116+
uses: softprops/action-gh-release@v1
117+
id: esmf_ame_linux_release
109118
with:
110-
file_glob: true
111-
overwrite: true
119+
body: "Release version ${{ github.event.inputs.release_version }}."
120+
tag_name: v${{ github.event.inputs.release_version }}
121+
target_commitish: ${{ env.release_branch_name }}
122+
draft: false
112123
prerelease: false
113-
repo_token: ${{ secrets.GITHUB_TOKEN }}
114-
file: target/ame-backend!(*.txt)-linux
115-
tag: ${{ github.ref }}
124+
files: target/ame-backend!(*.txt)-linux
125+
env:
126+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
116127

117-
- name: Create GitHub pre-release (Linux)
118-
if: ${{ (matrix.os == 'ubuntu-latest') && (contains( github.ref, '-M' )) }}
119-
uses: svenstaro/upload-release-action@latest
128+
- name: "Create GitHub pre-release Linux (full)"
129+
if: ${{ (matrix.os == 'ubuntu-latest') && (contains( github.ref, '-rc' )) }}
130+
uses: softprops/action-gh-release@v1
131+
id: esmf_ame_linux_release
120132
with:
121-
file_glob: true
122-
overwrite: true
133+
body: "Release version ${{ github.event.inputs.release_version }}."
134+
tag_name: v${{ github.event.inputs.release_version }}
135+
target_commitish: ${{ env.release_branch_name }}
136+
draft: false
123137
prerelease: true
124-
repo_token: ${{ secrets.GITHUB_TOKEN }}
125-
file: target/ame-backend!(*.txt)-linux
126-
tag: ${{ github.ref }}
138+
files: target/ame-backend!(*.txt)-linux
139+
env:
140+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
127141

128-
- name: Create GitHub release (Windows)
129-
if: ${{ (matrix.os == 'windows-latest') && (!contains( github.ref, '-M' )) }}
130-
uses: svenstaro/upload-release-action@latest
142+
- name: "Create GitHub release Windows (full)"
143+
if: ${{ (matrix.os == 'windows-latest') && (!contains( github.ref, '-rc' )) }}
144+
uses: softprops/action-gh-release@v1
145+
id: esmf_ame_win_release
131146
with:
132-
file_glob: true
133-
overwrite: true
147+
body: "Release version ${{ github.event.inputs.release_version }}."
148+
tag_name: v${{ github.event.inputs.release_version }}
149+
target_commitish: ${{ env.release_branch_name }}
150+
draft: false
134151
prerelease: false
135-
repo_token: ${{ secrets.GITHUB_TOKEN }}
136-
file: target/ame-backend!(*.txt)-win.exe
137-
tag: ${{ github.ref }}
152+
files: target/ame-backend!(*.txt)-win.exe
153+
env:
154+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
138155

139-
- name: Create GitHub pre-release (Windows)
140-
if: ${{ (matrix.os == 'windows-latest') && (contains( github.ref, '-M' )) }}
141-
uses: svenstaro/upload-release-action@latest
156+
- name: "Create GitHub pre-release Windows (full)"
157+
if: ${{ (matrix.os == 'windows-latest') && (contains( github.ref, '-rc' )) }}
158+
uses: softprops/action-gh-release@v1
159+
id: esmf_ame_win_release
142160
with:
143-
file_glob: true
144-
overwrite: true
161+
body: "Release version ${{ github.event.inputs.release_version }}."
162+
tag_name: v${{ github.event.inputs.release_version }}
163+
target_commitish: ${{ env.release_branch_name }}
164+
draft: false
145165
prerelease: true
146-
repo_token: ${{ secrets.GITHUB_TOKEN }}
147-
file: target/ame-backend!(*.txt)-win.exe
148-
tag: ${{ github.ref }}
166+
files: target/ame-backend!(*.txt)-win.exe
167+
env:
168+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

src/main/java/org/eclipse/esmf/ame/services/PackageService.java

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,20 @@ private void validateValidFiles( final LocalPackageInfo localPackageInfo, final
157157
final Boolean modelExist = strategy.checkModelExist( aspectModelFile,
158158
ValidationProcess.MODELS.getPath().toString() );
159159

160-
final ViolationReport violationReport = ModelUtils.validateModel( fileInfo.getAspectModel(),
161-
aspectModelValidator, validationProcess );
160+
String aspectModel = fileInfo.getAspectModel();
161+
162+
// TODO: remove this workaround when bamm is completely replaced by samm
163+
if ( aspectModel.contains( "bamm" ) ) {
164+
aspectModel = fileInfo.getAspectModel().replaceAll( "bamm", "samm" )
165+
.replaceAll( "io.openmanufacturing", "org.eclipse.esmf.samm" );
166+
167+
strategy.saveModel( Optional.empty(),
168+
ModelUtils.getPrettyPrintedModel( aspectModel, ValidationProcess.IMPORT ),
169+
ValidationProcess.IMPORT.getPath().toString() );
170+
}
171+
172+
final ViolationReport violationReport = ModelUtils.validateModel( aspectModel, aspectModelValidator,
173+
validationProcess );
162174

163175
processPackage.addValidFiles( new ValidFile( aspectModelFile, violationReport, modelExist ) );
164176
getMissingAspectModelFiles( violationReport, aspectModelFile, modelStoragePath ).forEach(
@@ -191,10 +203,9 @@ public List<String> importAspectModelPackage( final List<String> aspectModelFile
191203

192204
private List<MissingElement> getMissingAspectModelFiles( final ViolationReport violationReport,
193205
final String fileName, final String modelStoragePath ) {
194-
final List<ViolationError> violationErrors = violationReport.getViolationErrors().stream()
195-
.filter( violation -> violation.getErrorCode() != null
196-
&& violation.getErrorCode().equals(
197-
ProcessingViolation.ERROR_CODE ) )
206+
final List<ViolationError> violationErrors = violationReport.getViolationErrors().stream().filter(
207+
violation -> violation.getErrorCode() != null && violation.getErrorCode()
208+
.equals( ProcessingViolation.ERROR_CODE ) )
198209
.toList();
199210

200211
if ( violationErrors.isEmpty() ) {
@@ -204,8 +215,7 @@ private List<MissingElement> getMissingAspectModelFiles( final ViolationReport v
204215
return violationErrors.stream().map( validation -> {
205216
final AspectModelUrn focusNode = validation.getFocusNode() != null ? validation.getFocusNode() : null;
206217

207-
final String missingAspectModelFile = ModelUtils.getAspectModelFile( modelStoragePath,
208-
focusNode );
218+
final String missingAspectModelFile = ModelUtils.getAspectModelFile( modelStoragePath, focusNode );
209219

210220
final String errorMessage = String.format(
211221
"Referenced element: '%s' could not be found in Aspect Model file: '%s'.", focusNode, fileName );

0 commit comments

Comments
 (0)