To reduce number of repositories we keep all our custom actions in single repository (this repo) This allows us to split workflow into as small pieces, as it is comfortable for code deduplication and actions unit testing.
The drawback is that we can't control versions of particular actions: new 'v2' branch creates 'v2' version of all actions in repository, regardless the only one could have backwards incompatible changes.
All production workflow versions are stored in special 'vN' branches: v1, v2, v3, ...
Version branches could get new features, but should keep backwards compatibility of workflow modifications. This means you can put backward-incompatible changes into some action and update workflows, so they can work with updated action.
Each 'vN' version branch has connected 'vN-beta' branch with not-tested-yet versions of actions and workflows. This 'vN-beta' branches can be used in action and workflow tests.
For actions and workflows testing the another GitHub repository was created: github-ci-tests. This repository contains lots of workflows for unit-testing particular actions and whole workflows. Use it to test your changes before putting them into vN branch.
First version of all actions.
Most of 'v1' workflows initialize 'context' inside the workflow itself. This makes workflow usage simpler (you don't need to create two dependant jobs), but makes impossible to control workflow's parameters based on current context's state.
All workflows here expect outer workflow to call 'context/init' action before starting. Without 'context/init' 'v2' workflows can't perform some of their jobs.
All workflows here expect outer workflow to call 'context/init' action before starting. Without 'context/init' 'v3' workflows can't perform some of their jobs.
All workflows here expect outer workflow to call 'context/init' action before starting. Without 'context/init' 'v3' workflows can't perform some of their jobs.
This version introduces the following new features:
- switch to node16 because node12 has reached end-of-life
- variety of bash shell fixes, so one action can work on all three os (linux/macos/windows)
- changes required for https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Breaking changes:
- in java-gradle s3-key and s3-secret have been removed in favor of aws iam assume role with oidc provider to generate aws credentials
Recent changes:
- switch to node20 because node16 has reached end-of-life