@@ -43,25 +43,58 @@ jobs:
4343 env :
4444 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4545
46- ci -timetable-generator-v1-dotnet :
47- name : " [Publish] TimetableGenerator v1 - NuGet "
46+ build -timetable-generator-v1 :
47+ name : " [Build] timetable-generator-v1 "
4848
4949 needs :
5050 - changesets
5151 if : needs.changesets.outputs.hasChangesets == 'false'
5252
5353 runs-on : ubuntu-latest
5454
55+ steps :
56+ - name : Checkout repo
57+ uses : actions/checkout@v6
58+
59+ - name : Install just
60+ uses : extractions/setup-just@v3
61+
62+ - name : Build all integrations
63+ run : just apis/timetable-generator-v1/build
64+
65+ - name : Upload TypeScript artifact
66+ uses : actions/upload-artifact@v4
67+ with :
68+ name : timetable-generator-v1-typescript
69+ path : apis/timetable-generator-v1/integrations/typescript
70+
71+ - name : Upload C# artifact
72+ uses : actions/upload-artifact@v4
73+ with :
74+ name : timetable-generator-v1-dotnet
75+ path : apis/timetable-generator-v1/integrations/dotnet
76+
77+ publish-timetable-generator-v1-nuget :
78+ name : " [Publish] timetable-generator-v1 - NuGet"
79+
80+ needs :
81+ - build-timetable-generator-v1
82+
83+ runs-on : ubuntu-latest
84+
5585 environment :
5686 name : ci-timetable-generator-v1-dotnet
5787
5888 defaults :
5989 run :
60- working-directory : apis/timetable-generator-v1/integrations/ dotnet/Ladesa.Messages.TimetableGenerator.V1
90+ working-directory : dotnet/Ladesa.Messages.TimetableGenerator.V1
6191
6292 steps :
63- - name : Checkout repo
64- uses : actions/checkout@v6
93+ - name : Download artifact
94+ uses : actions/download-artifact@v4
95+ with :
96+ name : timetable-generator-v1-dotnet
97+ path : dotnet
6598
6699 - name : Setup .NET
67100 uses : actions/setup-dotnet@v4
@@ -80,12 +113,35 @@ jobs:
80113 - name : Push to NuGet
81114 run : dotnet nuget push ./nupkg/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
82115
83- ci-timetable-generator-v1-npm :
116+ publish-timetable-generator-v1-npm :
117+ name : " [Publish] timetable-generator-v1 - npm"
118+
84119 needs :
85- - changesets
86- if : needs.changesets.outputs.hasChangesets == 'false'
120+ - build-timetable-generator-v1
121+
87122 runs-on : ubuntu-latest
123+
88124 environment :
89125 name : ci-timetable-generator-v1-npm
126+
127+ defaults :
128+ run :
129+ working-directory : typescript
130+
90131 steps :
91- - run : " echo hello world!"
132+ - name : Download artifact
133+ uses : actions/download-artifact@v4
134+ with :
135+ name : timetable-generator-v1-typescript
136+ path : typescript
137+
138+ - name : Setup Node.js
139+ uses : actions/setup-node@v4
140+ with :
141+ node-version : " 24"
142+ registry-url : " https://registry.npmjs.org"
143+
144+ - name : Publish to npm
145+ run : npm publish --access public
146+ env :
147+ NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
0 commit comments