Commit Graph

81 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
d463d7d397
fix: clone full history on GitHub Actions build job, track develop 2024-11-27 04:58:22 +00:00
Kittywhiskers Van Gogh
9cc29a832e
ci: use actions/cache to manage depends cache
Co-authored-by: pasta <pasta@dashboost.org>
2024-11-19 18:23:48 +00:00
pasta
cde4d0294a
Merge #6401: ci: deduplicate depends building
2f18c1af30 ci: deduplicate depends building (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Currently we build the same host / options multiple times. Don't do this!

  ## What was done?
  Now building depends only twice

  ## How Has This Been Tested?
  Local CI appears to be working

  ## Breaking Changes
  None

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  kwvg:
    utACK 2f18c1af30
  UdjinM6:
    utACK 2f18c1af30

Tree-SHA512: 67460508a2e9458152f7c8bb5f4a1a786aedcfded0e5c54fb03d85010ba8bb87362b66a0c322b51aeba75752e36418fc235d8dc4197ef10695e234ccc5a00a39
2024-11-18 13:18:18 -06:00
pasta
2f18c1af30
ci: deduplicate depends building 2024-11-18 12:45:15 -06:00
pasta
9604d87af1
ci: cache depends/built like gitlab 2024-11-18 12:28:52 -06:00
UdjinM6
c5d5b14205
ci: add powerpc64 to GH Guix job matrix 2024-11-17 02:22:54 +03:00
UdjinM6
3ac5739e38
guix: "Invert" guix-start/guix-check cmd-line argument behaviour, defaults to pwd 2024-11-12 15:17:13 +03:00
Kittywhiskers Van Gogh
1592a0f92e
ci: update containers and CI to use Ubuntu 22.04 LTS (jammy) 2024-11-02 21:34:10 +00:00
UdjinM6
8abe646156
fix(ci): do not build derivations in parallel on GH
https://github.com/dashpay/dash/blob/develop/contrib/guix/README.md#controlling-the-number-of-threads-used-by-guix-build-commands
2024-10-29 00:49:27 +03:00
pasta
a856b81f0e
ci: drop unneeded comments 2024-10-25 12:05:42 -05:00
pasta
189233b987
ci: handle ccache / depends based on build_target not host to avoid failing to cache all the linux 86_64 runs 2024-10-25 12:05:31 -05:00
pasta
cbeeb9e00d
ci: adjust caching strategy
use hashFiles('depends/packages/*') for depends stuff
don't mix stuff between hosts
try to use PR base if we don't have direct match for ccache
2024-10-25 12:05:03 -05:00
pasta
354d6a9aab
ci: cache depends sources in a seperate step 2024-10-24 18:54:41 -05:00
UdjinM6
e646fa89f0
fix(ci): yet another 6356 follow-up 2024-10-24 23:05:43 +03:00
UdjinM6
7064eb9104
fix: 6356 follow-up 2024-10-24 22:28:08 +03:00
UdjinM6
c76e398caa
ci: check ff after merge into base branch for PRs 2024-10-24 20:36:41 +03:00
UdjinM6
c3aae9e165
fix: fetch PR head before merging it in "check ff" 2024-10-24 15:20:15 +03:00
UdjinM6
8865686132
fix: adjust conditions in Check Merge Fast-Forward Only action 2024-10-23 22:31:16 +03:00
pasta
cd712e86b7
ci: attest results of guix builds 2024-10-22 09:58:02 -05:00
UdjinM6
7d1fc66d91
chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
Kittywhiskers Van Gogh
4faf35f749
chore: add stats as a pull request header scope 2024-09-11 15:08:28 +00:00
pasta
fb92a8ef7b
ci: fix, in github actions CI, we don't actually check out the PR, but the base 2024-09-05 22:37:06 -05:00
UdjinM6
2e8f9f9f08
refactor: better readability 2024-09-05 11:49:09 +03:00
UdjinM6
9ad537380b
ci: less api calls when checking potential conflicts 2024-09-05 10:16:46 +03:00
pasta
9f3d5b08c7
ci: improve conflicts checker to skip PRs which are a draft 2024-09-04 13:17:42 -05:00
UdjinM6
88bf7a8cb4
fix: resolve GitHub workflow warnings 2024-08-24 01:15:31 +03:00
pasta
6eb6982f41
Merge #6210: ci: add more hosts to Github Actions
cb3ac4656b ci: add more hosts to Github Actions (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Add more linux hosts to GitHub Actions CI. This builds and runs tests (unit) on all these. Functional tests and Mac / Windows should be coming in the future

  ## How Has This Been Tested?
  https://github.com/PastaPastaPasta/dash/actions/runs/10364729979

  ## Breaking Changes
  None

  ## Checklist:
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK cb3ac4656b

Tree-SHA512: c9e13d2cf53c12100905bec4b444b9750879733ec42e1f37265c5f2dda416071324c6a181df3fcf35b2a8eeb78ddaf8ed109cbd914be6b2c43916e8feaba25c2
2024-08-18 09:26:53 +07:00
pasta
cb3ac4656b
ci: add more hosts to Github Actions 2024-08-13 13:26:10 +07:00
UdjinM6
52b9fcecb4
fix: can't mix - and : 2024-08-12 17:45:46 +03:00
UdjinM6
2f12f91d39
fix: 6205 follow-up 2024-08-12 17:00:50 +03:00
UdjinM6
2777d30caa
fix(ci): only run some GH actions on PR approval, not on every comment 2024-08-12 16:06:33 +03:00
pasta
23d84c6d92
Merge #6190: feat: improve merge-check action to leave a comment and label to PRs
5394d63e18 feat: improve merge-check action to leave a comment and label to PRs (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  this is untested but I think it'll work, simply add comment and label to PRs which fail this CI

  ## What was done?

  ## How Has This Been Tested?
  hasn't but if this action breaks that is not critical

  ## Breaking Changes
  None

  ## Checklist:
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 5394d63e18

Tree-SHA512: 78ae7c05446a0625143fb7e04b7e63ae0830ca45cde4f924eb4e04dfb12ac3cc9e697efbd914a71a9b5ba98400597e7559258b5d93419ed7eb7cc14a9b876fe7
2024-08-12 17:37:31 +07:00
pasta
770651aa15
set hosts in guix-check 2024-08-12 09:36:53 +07:00
pasta
580bbe6d1c
feat: improve guix building; run always, save artifacts 2024-08-12 09:36:15 +07:00
pasta
101a31555f
refactor: simplify caching setup, add a restore key to actually cache besides 1 run 2024-08-12 09:32:32 +07:00
pasta
1b139e4837
feat: automatically run guix-build on all tags pushed 2024-08-12 09:32:29 +07:00
pasta
4dbdecdd1e
refactor: rename builder-image -> build-image and builder as image name to dashcore-ci-runner 2024-08-11 15:02:32 +07:00
pasta
35c76705d1
feat: implement basic Github Actions based CI, which reuses underlying logic from GitLab CI 2024-08-11 15:02:30 +07:00
pasta
5394d63e18
feat: improve merge-check action to leave a comment and label to PRs 2024-08-09 19:44:14 +07:00
pasta
9178e8a75f
feat: add smob and provenance in release for dockerhub; use jammy; apt remove as possible 2024-07-28 11:58:13 -05:00
Konstantin Akimov
0c884f9740
chore: narrow score of clang-diff-format for dash specific files only 2024-03-24 00:41:24 +07:00
pasta
d1f881d7b4
ci: fail clang-diff-format on failure 2024-03-12 14:53:46 -05:00
UdjinM6
9c92392ef3
ci: exclude translation files from clang-diff analysis 2024-03-04 08:54:53 -06:00
fanquake
5c0283b020
Merge bitcoin/bitcoin#24509: doc: Add guix prefix for changes to reproducible builds
f1f994a122b135160216b6fc56c095b83eeaf812 doc: Add `guix` prefix for changes to reproducible builds (Hennadii Stepanov)

Pull request description:

  Most of contributors already use the `guix:` prefix for changes to `contrib/guix`. Also `guix` is shorter than `build`, and it is more focused/specific.

ACKs for top commit:
  fanquake:
    ACK f1f994a122b135160216b6fc56c095b83eeaf812

Tree-SHA512: 3f754e80802ec4e871b099ce1f0877e34ecc4816fbe9c49bfd2a7368ef79fed9edf6c65f38eedef2a87367fdc911dc548e0def422d80b66a91ce2e5f35826032
2024-02-07 10:14:43 -06:00
UdjinM6
f72650d2de
feat: Set client version for non-release binaries and version in guix based on git tags (#5653)
## Issue being fixed or feature implemented
Client version string is inconsistent. Building `v20.0.0-beta.8` tag
locally produces binaries that report `v20.0.0-beta.8` version but
binaries built in guix would report
`v20.0.0rc1-g3e732a952226a20505f907e4fd9b3fdbb14ea5ee` instead. Building
any commit after `v20.0.0-beta.8` locally would result in versions like
`v20.0.0rc1-8c94153d2497` which is close but it's still yet another
format. And both versions with `rc1` in their names are confusing cause
you'd expect them to mention `beta.8` instead maybe (or is it just me?
:D ).

## What was done?
Change it so that the version string would look like this:
on tag: ~`v20.0.0-beta.8-dev` or `v20.0.0-beta.8-gitarc`~
`v20.0.0-beta.8`
post-tag: ~`v20.0.0-beta.8-1-gb837e08164-gitarc`~
`v20.0.0-beta.8-1-gb837e08164`

post-tag format is
`recent tag`-`commits since that tag`-`g+12 chars of commit hash`-`dirty
(optional)` ~-`dev or gitarc`~

~`dev`/`gitarc` suffixes should help avoiding confusion with the release
versions and they also indicate the way non-release binaries were
built.~

Note that release binaries do not use any of this, they still use
`PACKAGE_VERSION` from `configure` like before.

Also, `CLIENT_VERSION_RC` is no longer used in this setup so it was
removed.

Few things aren't clear to me yet:
1. Version bump in `configure.ac` no longer affects the reported version
(unless it's an actual release). Are there any downsides I might be
missing?
2. Which tag should we use on `develop` once we bump version in
configure? `v21.0.0-init`? `v21.0.0-alpha1`?
3. How is it going to behave once `merge master back into develop` kind
of PR is merged? E.g. say `develop` branch is on `v21.0.0-alpha1` tag
and we merge v20.1.0 from `master` back into it. Will this bring
`v20.1.0` release tag into `develop`? Will it become the one that will
be used from that moment? If so we will probably need another tag on
`develop` every time such PR is merged e.g. `v21.0.0-alpha2` (or
whatever the next number is).

Don't think these are blockers but would like to hear thoughts from
others.

## How Has This Been Tested?
Built binaries locally, built them using guix at a specific tag and at
some commit on top of it.

## Breaking Changes
n/a

## Checklist:
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2024-01-11 21:43:42 -06:00
Konstantin Akimov
75b6c4471f cleanup: remove release_alpha.yml workflow and Dockerfile for GitHubActions 2023-12-06 12:40:58 -06:00
PastaPastaPasta
2099a5c2e5
fix: use proper GitHub.repository and add an echo for testing (#5757)
## Issue being fixed or feature implemented


## What was done?
Add an echo

## How Has This Been Tested?

## Breaking Changes
None

## Checklist:
_Go over all the following points, and put an `x` in all the boxes that
apply._
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-12-06 12:24:12 -06:00
UdjinM6
91dcf0e65a
fix: pass GITHUB_REPOSITORY into Dockerfile.GitHubActions.Release (2nd attempt) (#5735)
## Issue being fixed or feature implemented
I was probably using `GITHUB_REPOSITORY` incorrectly, let's try it this
way

#5724 follow-up

## What was done?

## How Has This Been Tested?
n/a

## Breaking Changes
n/a

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-12-04 08:35:12 -06:00
UdjinM6
bc9af856ec
ci: Bump Guix build timeout and implement cacheing (#5727)
## Issue being fixed or feature implemented
Hopefully fixes issues like
>The job running on runner ubuntu-core-x64_i-05ed4263b8e049c7a has
exceeded the maximum execution time of 360 minutes

https://github.com/dashpay/dash/actions/runs/6932017275


https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepstimeout-minutes

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes

## What was done?
Bump timeouts for the job itself and for the corresponding step. Also,
implemented caching for `.cache` and `depends` folders.

## How Has This Been Tested?
#5729


https://github.com/dashpay/dash/actions/runs/6996271543/job/19031968814?pr=5729

## Breaking Changes
n/a

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-12-01 09:11:35 -06:00
UdjinM6
1d9991fe24
fix: pass GITHUB_REPOSITORY into Dockerfile.GitHubActions.Release (#5724)
## Issue being fixed or feature implemented
Should hopefully fix
https://github.com/dashpay/dash-dev-branches/actions/runs/6939402277/job/18876687119

#5716 follow-up

## What was done?
`$GITHUB_REPOSITORY` is not available inside docker, pass it inside

## How Has This Been Tested?

## Breaking Changes
n/a

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-11-24 11:23:10 -06:00