Commit Graph

79 Commits

Author SHA1 Message Date
pasta
a1f7e96025
Merge #6406: ci: use actions/cache to manage depends cache
9cc29a832e ci: use `actions/cache` to manage depends cache (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * Builds after [dash#6401](https://github.com/dashpay/dash/pull/6401) have silently stopped building Dash Qt, see pre-[dash#6401](https://github.com/dashpay/dash/pull/6401) `develop` (6a51ab27)'s [build](https://github.com/dashpay/dash/actions/runs/11881892222/job/33106960691#step:7:725) compared against [build \#1](https://github.com/PastaPastaPasta/dash/actions/runs/11897504945/job/33152711720#step:7:1432) and [build \#2](https://github.com/kwvg/dash/actions/runs/11898510091/job/33156186503#step:7:1432) from [dash#6401](https://github.com/dashpay/dash/pull/6401)'s review process.

    This pull request aims to correct that regression.

  ## Breaking Changes

  None expected.

  ## Checklist

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

ACKs for top commit:
  PastaPastaPasta:
    utACK 9cc29a832e
  UdjinM6:
    utACK 9cc29a832e

Tree-SHA512: 09663987696d29e12c98b48297960c7c1e6484e337ddc8311f340fee1d026ace572674e8cbca578ba743ff781caabb6fcc1853cee8ddff3e13af3fe3d0361776
2024-11-26 23:12:36 +07:00
pasta
90a3807903
Merge #6402: ci: cache built
9604d87af1 ci: cache depends/built like gitlab (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Depends build didn't seem to be caching properly

  ## What was done?
  changed depends/${{ matrix.host }} to depends/built as gitlab does

  ## How Has This Been Tested?
  Depends "build" now takes only ~1 minute instead of ~15 minutes in CI: https://github.com/PastaPastaPasta/dash/actions/runs/11899038167

  ## 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 9604d87af1
  kwvg:
    utACK 9604d87af1

Tree-SHA512: 63d2321f41b284be6cc2f0b2d53294cf220b1623af464d411225c0e43ec14268e1c3a701e23973e5c641925b6ea28dcb92062d8cefb9e6baed6ac5bb619ce1a1
2024-11-26 23:12:36 +07:00
pasta
66f67879dc
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-26 23:12:36 +07:00
pasta
7ca56632cf
Merge #6397: ci: add powerpc64 to GH Guix job matrix
c5d5b14205 ci: add powerpc64 to GH Guix job matrix (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  I guess we should make sure that binaries for every possible platform can be built via Guix with no issues even if we do not want to provide "official" binaries for it.

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## 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
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

Top commit has no ACKs.

Tree-SHA512: 6464b68a47e680bb379c82842599200d6917adb8f1493fa75ac80ddc7a6fea92a9190215cfa3f32b0bd88e2dd0425d4eb13846ea2d7e19e144afff9c1171ff13
2024-11-26 23:12:36 +07: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
strophy
bc6b5e1322
ci: switch to using gha cache api for guix builds (#5602)
## Issue being fixed or feature implemented
- Using `actions/cache` with a local buildx cache without the "move
cache" workaround will result in constant growth in cache size:
https://docs.docker.com/build/ci/github-actions/cache/#local-cache

## What was done?
- Docker natively supports the GHA Cache API, so we should use it for
faster and more efficient cache usage
- Actions were also bumped to current stable versions


## How Has This Been Tested?
Devs please test this by running a test Guix build from workflow
dispatch

## Breaking Changes
None


## Checklist:
_Go over all the following points, and put an `x` in all the boxes that
apply._
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have added or updated relevant unit/integration/functional/e2e
tests
- [x] 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-10-20 08:14:46 -05:00
UdjinM6
d574ca6197
ci: bump actions/checkout and actions/cache to v3 (#5519)
## Issue being fixed or feature implemented
Should fix warnings like
> The following actions uses node12 which is deprecated and will be
forced to run on node16: actions/checkout@v2, actions/cache@v2. For more
info:
https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/

https://github.com/dashpay/dash/actions/runs/5705358251?pr=5448
https://github.com/dashpay/dash/actions/runs/5705358315?pr=5448
https://github.com/dashpay/dash/actions/runs/5705358316?pr=5448
https://github.com/dashpay/dash/actions/runs/5715249078?pr=5448

## What was done?

## How Has This Been Tested?

## Breaking Changes


## 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
2023-08-01 12:17:40 -05:00