Skip to content

Comments

unified autobuild github-action#978

Merged
ann0see merged 32 commits intojamulussoftware:masterfrom
nefarius2001:autobuild/stable2
Feb 18, 2021
Merged

unified autobuild github-action#978
ann0see merged 32 commits intojamulussoftware:masterfrom
nefarius2001:autobuild/stable2

Conversation

@nefarius2001
Copy link
Contributor

Work for #854:
single workflow

  • compiling on all platforms, including codeQL where possible => nice check for each PR
  • separate codeQL-builds where necessary
  • upload packs/binaries/installers as artifacts of the job (autodelete after 31 days) => low barrier for testing features on different platforms
  • upload packs/binaries/installers to releases if triggered by tags starting with "r_" << still needs small tweaking
  • updating packs/binaries/installers in a special release if triggered by tag named "latest" << still needs small tweaking

@ann0see
Copy link
Member

ann0see commented Feb 10, 2021

Thank you very much for your work again ;-). Can you also include #964?

Edit: seems we had the exact same idea ;-).

@nefarius2001
Copy link
Contributor Author

@ann0see ann0see linked an issue Feb 11, 2021 that may be closed by this pull request
@nefarius2001
Copy link
Contributor Author

will need #962

@ann0see ann0see added this to the Release 3.7.0 milestone Feb 12, 2021
nefarius2001 added 3 commits February 12, 2021 22:17
 - consistently in three steps: prepare-build-copy
 - artifacts stored for limited amout of days with the github-action-run
 - files named by githash/release
 - auto-creation of releases
@nefarius2001 nefarius2001 marked this pull request as ready for review February 13, 2021 01:26
@nefarius2001
Copy link
Contributor Author

Finally, my work is done!

One open question: currently a pull request triggers code-QL warnings ("Please make sure that every branch in on.pull_request is also in on.push so that Code Scanning can compare pull requests against the state of the base branch")
Personally, I'd add "push.master" as a trigger as well, but in the discussion #854 being resourceful was highly empasised, too.

For proof of working, see:
https://github.com/nefarius2001/jamulus/releases
https://github.com/nefarius2001/jamulus/actions

checks will likely need retriggering, when the submodule issue is solved

@pljones
Copy link
Collaborator

pljones commented Feb 13, 2021

Hm. Might need another rebase to pick up the submodule changes, I'm afraid.

@nefarius2001
Copy link
Contributor Author

Repeating the action would suffice, can someone click „rerun all jobs“ please?

@pljones
Copy link
Collaborator

pljones commented Feb 13, 2021

I did. It failed the same. Hence suggesting a rebase might help.

@hoffie
Copy link
Member

hoffie commented Feb 13, 2021

I think the rebase on master is required in order to have #985 included in this PR.

@ann0see

This comment has been minimized.

@nefarius2001
Copy link
Contributor Author

I used a normal merge... less effort since i merged ann0see's contributions earlier

Copy link
Member

@ann0see ann0see left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First a few overview. I'll look into the functionality soon.

if: ${{ matrix.config.cmd1_prebuild }}
run: ${{ matrix.config.cmd1_prebuild }}
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' # allow setting environment variables
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds a bit dangerous. Can't you just output environment variables via echo?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this allos the use of ::set-env name=xxxxxx::${xxxxxxx}

My problem was that autobuild_apk_1_prepare.sh sets a lot of variables, and I dont know which ones are necessary for building then. Doint special treatment for 15 variables via output and mentioning them as environment of next step is not clean any more. I'm open for suggestions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm. If you think this is the best way to do it, I would just leave it like that for now.

Copy link
Member

@ann0see ann0see left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Almost finished. Will look into changing a few things here (and I'll update the branch to the current master branch because of the broken headless build). Afterwards I'll do a new beta release.

###################

echo "Install dependencies..."
brew install qt5
Copy link
Member

@ann0see ann0see Feb 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Todo (not blocking): use aqt and the same process as in the release process.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should only be one "Install Qt" (per platform). If it's always needed, always run it (as a workflow step). One workflow. Some steps always run (i.e. those that prepare for what happens later). Some steps only run under certain conditions (branch name, action, target - CodeQL only runs sometimes, publish only runs sometimes).

("target" - this doesn't just mean platform, it includes combinations like "headless server on debian x64".)

@ann0see ann0see force-pushed the autobuild/stable2 branch 2 times, most recently from 835f304 to edf66a6 Compare February 18, 2021 16:37
@ann0see ann0see self-requested a review February 18, 2021 16:58
Copy link
Member

@ann0see ann0see left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aside from the slow CodeQl build, I'd say this is ready once the comments above are answered. There are still some open points, but they're not part of this PR (nefarius2001#6). Therefore I'll approve this. After this (or even now) I think, we could even try it by releasing a new version of Jamulus?

@ann0see ann0see requested a review from pljones February 18, 2021 17:18


echo "Building... qmake"
if [-x /Users/runner/work/jamulus/jamulus/Qt/5.15.2/clang_64/bin/qmake]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you try it without specifying the full path like this? I found it worked just doing qmake, after running the install in the CodeQL workflow. If it does, it would make it less painful moving from 5.15.2 to 5.9 for the MacOS build.

@pljones
Copy link
Collaborator

pljones commented Feb 18, 2021

I think there's more to do - but it can wait till after this gets merged. Continuous Improvement means taking "good enough" and making it better, later. This is definitely good enough and better that we have.

@pljones
Copy link
Collaborator

pljones commented Feb 18, 2021

#964 though. Is that covered?

@ann0see
Copy link
Member

ann0see commented Feb 18, 2021

Yes. This is included as far as I know.

@ann0see
Copy link
Member

ann0see commented Feb 18, 2021

@pljones I'd wait a bit until @nefarius2001 is finished and afterwards, you can merge it.

@pljones
Copy link
Collaborator

pljones commented Feb 18, 2021

Yes. This is included as far as I know.

Ah - the confusion is around the CodeQL vs main build - one uses 5.12.2, the other 5.9.9. That can wait (we've been using 5.12.2 for CodeQL up until now) but needs fixing, as we need to verify against the same library base as the build.

@ann0see
Copy link
Member

ann0see commented Feb 18, 2021

Ok. Will merge this now.

@ann0see ann0see merged commit 887ed6b into jamulussoftware:master Feb 18, 2021
@ann0see
Copy link
Member

ann0see commented Feb 18, 2021

There are still some todo items, but I think it's ready. Next big step:

Start the release process!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Qt 5.15 breaks macOS < 10.13 support

5 participants