1+ name : Release mit Datum & Latest
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+
8+ permissions :
9+ contents : write
10+
11+ jobs :
12+ build-and-release :
13+ runs-on : ubuntu-latest
14+
15+ steps :
16+ - name : Checkout Code
17+ uses : actions/checkout@v4
18+
19+ - name : Datum generieren
20+ id : date
21+ run : echo "TIMESTAMP=$(date +'%Y-%m-%d-%H%M')" >> $GITHUB_ENV
22+
23+ - name : Zip erstellen
24+ run : |
25+ zip -r mein-projekt-${{ env.TIMESTAMP }}.zip src/ assets/ config.json -x "*.git*"
26+
27+ - name : Historisches Release erstellen
28+ uses : softprops/action-gh-release@v2
29+ with :
30+ tag_name : v${{ env.TIMESTAMP }}
31+ name : Release ${{ env.TIMESTAMP }}
32+ files : mein-projekt-${{ env.TIMESTAMP }}.zip
33+ draft : false
34+ prerelease : false
35+ env :
36+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
37+
38+ - name : Update 'latest' tag
39+ uses : actions/github-script@v7
40+ with :
41+ github-token : ${{ secrets.GITHUB_TOKEN }}
42+ script : |
43+ try {
44+ await github.rest.git.deleteRef({
45+ owner: context.repo.owner,
46+ repo: context.repo.repo,
47+ ref: "tags/latest"
48+ })
49+ } catch (e) {
50+ console.log("Tag latest existierte noch nicht oder konnte nicht gelöscht werden.")
51+ }
52+
53+ await github.rest.git.createRef({
54+ owner: context.repo.owner,
55+ repo: context.repo.repo,
56+ ref: "refs/tags/latest",
57+ sha: context.sha
58+ })
59+
60+ - name : Update 'Latest' Release
61+ uses : softprops/action-gh-release@v2
62+ with :
63+ tag_name : latest
64+ name : Latest Build
65+ files : mein-projekt-${{ env.TIMESTAMP }}.zip
66+ make_latest : true
67+ env :
68+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments