Skip to content

Commit 3ce32cf

Browse files
authored
More work for getting our CI system going. (#383)
* More work. * Adding releases as additional step. * Redoing things as two steps * Doing this again. * Updating the latest flows. * Fixing up yml * Finishing up the release instructions.
1 parent 41d10a5 commit 3ce32cf

File tree

2 files changed

+50
-42
lines changed

2 files changed

+50
-42
lines changed

.github/workflows/cmake.yml

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ on:
77
push:
88
branches:
99
- main
10+
tags:
11+
- '*'
1012
pull_request:
1113
branches:
1214
- main
13-
create:
1415

1516
env:
1617
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
@@ -27,19 +28,19 @@ jobs:
2728
- {
2829
name: "Ubuntu Latest GCC",
2930
artifact: "CalChart.tar.xz",
30-
artifact_name: "CalChart-Linux.tar.xz",
31+
artifact_name: "CalChart-Linux",
3132
os: ubuntu-latest,
3233
}
3334
- {
3435
name: "macOS Latest Clang",
3536
artifact: "CalChart-*.dmg",
36-
artifact_name: "CalChart-macOS.dmg",
37+
artifact_name: "CalChart-macOS",
3738
os: macos-latest,
3839
}
3940
- {
4041
name: "Windows Latest MSVC",
4142
artifact: "CalChart-*.exe",
42-
artifact_name: "CalChart-Windows.exe",
43+
artifact_name: "CalChart-Windows",
4344
os: windows-latest,
4445
}
4546

@@ -96,25 +97,30 @@ jobs:
9697
path: ${{github.workspace}}/build/${{ matrix.config.artifact }}
9798
name: ${{ matrix.config.artifact_name }}
9899

100+
99101
release:
100102
if: contains(github.ref, 'tags/v')
101-
name: ${{ matrix.config.name }}
103+
name: Release
102104
runs-on: ubuntu-latest
103-
strategy:
104-
fail-fast: false
105-
matrix:
106-
config:
107-
- artifact: "CalChart.tar.xz"
108-
- artifact: "CalChart-*.dmg"
109-
- artifact: "CalChart-*.exe"
110105
needs: build
111106
steps:
107+
- name: checkout
108+
uses: actions/checkout@v2
109+
110+
- name: Download artifact
111+
uses: actions/download-artifact@v2
112+
with:
113+
path: ./
114+
115+
- name: Display structure of downloaded files
116+
run: ls -R
117+
112118
# using https://github.com/ncipollo/release-action
113-
- name: release
119+
- name: Release
114120
uses: ncipollo/release-action@v1
115121
with:
116-
artifacts: ${{github.workspace}}/build/${{ matrix.config.artifact }}
117-
bodyFile: "LATEST_RELEASE_NOTES.md"
122+
artifacts: CalChart-*/*
123+
bodyFile: ./LATEST_RELEASE_NOTES.md
118124
draft: true
119125
token: ${{ secrets.GITHUB_TOKEN }}
120-
126+

RELEASE_INSTRUCTIONS.md

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,57 @@
1-
~=~=~=~=~=~=~=~=~=~=~
1+
---
2+
23
Checklist
34

4-
[] Did you run clang format on all the files? (clang-format -style="{BasedOnStyle: webkit}" -i src/*)
5-
[] Did it build on both windows and mac?
6-
[] Did you open and close some files?
5+
* Did you run clang format on all the files? (`clang-format -style="{BasedOnStyle: webkit}" -i src/*`)
6+
* Did it build on both windows and mac?
7+
* Did you open and close some files?
8+
9+
---
10+
11+
# How to release calchart:
712

8-
~=~=~=~=~=~=~=~=~=~=~
13+
CalChart uses CMake and Github actions to automate the release process. When you push a tag for the repository, github will build and package the release.
914

10-
How to release calchart:
15+
The current calchart version is 3.6.3. In all commands below, substitute that number for `$CCVER` (meaning when you read `$CCVER`, type 3.6.3)
1116

12-
The current calchart version is 3.6.3. In all commands below, substitute that number for $CCVER (meaning when you read $CCVER, type 3.6.3)
17+
1. Prebuild the project to make sure its working
1318

14-
0.1 LATEST_RELEASE_NOTES.md will get posted to the release by our CI bot, so update what bugs have been fixed.
19+
2. Update LATEST_RELEASE_NOTES.md with all the changes (it will get posted to the release by our CI bot)
1520

16-
0.2 copy LATEST_RELEASE_NOTES.md into master README.md for the master record via this command:
21+
3. copy LATEST_RELEASE_NOTES.md into master README.md for the master record via this command:
1722

1823
```
1924
awk '//; /^# Release notes/{while(getline<"LATEST_RELEASE_NOTES.md"){print}}' README.md > tmp && mv tmp README.md
2025
```
2126

22-
Because you sometimes run into build issues on one platform instead of another, do a build before you do a tag:
23-
1. Prebuild the project to make sure its working
24-
25-
2. Tag the depot
27+
4. Tag the depot
2628

2729
```
2830
$ git tag -a v3.6.3 -m "calchart-3.6.3"
2931
$ git push origin v3.6.3
3032
```
3133

32-
This should trigger the github actions
34+
This should trigger the github action, which should publish release notes in Draft form.
35+
36+
5. Once the Release information looks good, Press the Publish Release button.
3337

34-
4. Go to the git Go to the sourceforge page at http://sourceforge.net/projects/calchart
35-
You'll need to be logged in as Administrator to modify the files.
38+
6. Download the Release artifacts to your machine.
3639

37-
5. Go to the sourceforge page at http://sourceforge.net/projects/calchart
38-
You'll need to be logged in as Administrator to modify the files.
40+
7. Go to the sourceforge page at http://sourceforge.net/projects/calchart. You'll need to be logged in as Administrator to modify the files.
3941

40-
6. Go to Project Admin -> File Manager
42+
8. Go to Project Admin -> File Manager
4143

42-
7. Make a new directory for this version (click on the * next to root)
44+
9. Make a new directory for this version (click on the * next to root)
4345

44-
8. Upload the README.txt to the new folder. Click on README.txt and edit the file details to signify it's a release notes.
46+
10. Upload the `README.md` to the new folder. Click on `README.md` and edit the file details to signify it's a release notes.
4547

46-
9. Upload the CalChart-$CCVER.dmg to the folder. Click on dmg and edit the file details to signify its platform is Mac (OS X) and set the release_notes for the file.
48+
11. Upload the `CalChart-$CCVER.dmg` to the folder. Click on dmg and edit the file details to signify its platform is Mac (OS X) and set the release_notes for the file.
4749

48-
10. Repeat for Install-CalChart-$CCVER.exe. Click on zip and edit the file details to signify its platform is Windows and set the release_notes for the file.
50+
12. Repeat for `Install-CalChart-$CCVER.exe`. Click on zip and edit the file details to signify its platform is Windows and set the release_notes for the file.
4951

50-
11. Update https://github.com/calband/calchart/releases with Readme version updates.
52+
13. Update https://github.com/calband/calchart/milestone by closing the shipped milestone and starting the next one.
5153

52-
12. Update https://github.com/calband/calchart/milestone by closing the shipped milestone and starting the next one.
54+
14. Notify the world about the new version of CalChart.
5355

54-
13. Have a cookie.
56+
15. Have a cookie.
5557

0 commit comments

Comments
 (0)