Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/QubesOS/qubes-builderv2

Next generation of Qubes OS builder
https://github.com/QubesOS/qubes-builderv2

Only use `rm -rf` on explicit request

Using `rm -rf` is almost guaranteed to cause data loss, and loses all
protection against rollbac...

4ffdc09ad26877601384f9f3b15a74070887e8bb authored over 2 years ago
gitlab-ci: allow_failure for whonix workstation

For now, build fails all the time because of missing tb version.
See for example: https://gitlab...

e587c70f566d8a8c62fe1bdbe332762decfbb8a8 authored over 2 years ago
Fix negated logic in github-command-upload

Also fix issues caught by shellcheck.

052e8ac0e18909f61288c40856cb1b72048fc6ff authored over 2 years ago
gitlab-ci: keep test separately

98211ec7048d56822a675be9278687dd0b3f39cf authored over 2 years ago
Merge remote-tracking branch 'origin/pr/29' into devel070522

* origin/pr/29:
Use correct function for substitution
Use subprocess.DEVNULL instead of an e...

9acb01e29feac3ddc7743b7586d4f537883caa95 authored over 2 years ago
Update stages in config

2d213a0d116a6ee75a91836423c2f8a2e4e25b51 authored over 2 years ago
build_rpm: use str and not float/int for env values

b448268bf4dbae504ad96b454d3010c8f94f89b1 authored over 2 years ago
gitlab-ci: add build tests for LocalExecutor

We disable them for now, there is several fixes needed.

41cc7085ee7473afa010ce12d513fbfdb2456dce authored over 2 years ago
cli_repository: fix missing repository_upload_remote_host

6428574a46827530d46ab598b1e7338355bf1fde authored over 2 years ago
gitlab-ci: do more tests in parallel

885a3e2a8fc636af9fa1cd037f2a88ef8916590e authored over 2 years ago
Allow to pass user/group to local executor options

2b974d6d32d633a631c5a5b623a9f92aa0e19313 authored over 2 years ago
source/build rpm: warn user on 'simple' mock isolation

0a759923aabfe9be1696ae31b21349fa5114d4a3 authored over 2 years ago
Make python-black happy

57114bae69ef3fb76b7306b21055a8ac1cd25290 authored over 2 years ago
qubesbuilder.ProcessGithubCommand: ensure tmpdir is defined

cad6b148f596865177cf5f4aeb6056ff2200888d authored over 2 years ago
template: make mypy happy

7887b25875b18cc5a20a1503bf70941898b825bc authored over 2 years ago
Use correct function for substitution

Avoid an AttributeError. Found by mypy.

82cc76c616d72067e51a6db4fdc0b0456608cdc4 authored over 2 years ago
Use subprocess.DEVNULL instead of an explicit file

This avoids leaks and is more idiomatic.

ac65f07508cc7f148ccdec7b970b77271ef3f7e4 authored over 2 years ago
Use 'with' to autoclose Popen objects

Avoids leaking zombie processes and a mypy error.

76e2e28334b0191fe0483dd6b09d2c0366284bd9 authored over 2 years ago
github: add auto-build-template and improve build scripts

4ccf02f44ff5bb2ac1c399f748d014b844b3f8ad authored over 2 years ago
auto-build-template: timestamp format is UTC and ends with 'Z'

aa1e844e3cffd37ba8de67498f1b8f1179969ea7 authored over 2 years ago
Improve check-release-status and add for templates

839475a0edefdf62f17cca0a2aea13cc432cdbbf authored over 2 years ago
auto-build-functions: don't prefix release with 'r'

4723bfc418e71898601ae6202569ff20c0f9dd71 authored over 2 years ago
template: add upload stage with several fixes

f3475bfc7ef2230069fa399918b2f9bb432155a8 authored over 2 years ago
github: fix missing dom0 -> host replacement

f679b6b31a0ef357302ea5ff82d808bb08d0388f authored over 2 years ago
github: update suite examples in build report

50f1cd4085fa6d46b5debfb736d041e2037967bd authored over 2 years ago
github: we support multiple distributions for host

53b9b6d8dc1009d1e23be8219dbb89ec4a5b9fc4 authored over 2 years ago
cli_repository: fix upload

97e145add1fd33ddea6e2bf4bfb7276f422404f3 authored over 2 years ago
cli_repository: fix missing raise and ensure fetch artifacts

a8148590dfa9b16cd03ee1fb63c9aa249e2cf9b1 authored over 2 years ago
github: fix qubes release variable

13e4d65f89823c51989cc1884d0ccee8147a5aa2 authored over 2 years ago
Improve auto-build

b71caa20a5bfc5be9852e461d35bee96abe2d23d authored over 2 years ago
test_cli: rename fetch_skip to fetch_updating

We don't skip updating source now when fetch is called again and
sources are present locally.

8b61584f4b5fa1955fdf3cb4e794b8009f58a047 authored over 2 years ago
rpc: replace Shutdown by Kill

We don't use admin.vm.Shutdown anymore.

6027b0b75721f4773af387217489f4af69069d19 authored over 2 years ago
test_cli: fix pytest for test_fetch_skip

2266cb0a609e31b8d8981f458d0b76d5d72b4b75 authored over 2 years ago
gpg-client: default to gpg

21fd8eee5b4cbe95f7cc16a5cd1ade63cea3b45f authored over 2 years ago
github: improve auto-build message and usage

f37d52de923dd847ecd6f100547a72eb624c0bdb authored over 2 years ago
Improve publish repository upload

We only upload what's locally built by the builder, not the entire
repository tree.

5788f8b0fd7e550a6115110914090f84407c0437 authored over 2 years ago
Improve fetch source artifacts creation

It is dist independant and should not be duplicated. Keep for
now message saying there is nothin...

78c4b163a585341eda2f38cc2bc630c98eeff47e authored over 2 years ago
source_rpm: remove nosync option in mock configs

9b2299ea912b01185ab2b07834ada9a80b4338be authored over 2 years ago
Update README

9af2f884c8e2c3eb38b40860b4635f46175fb18c authored over 2 years ago
cli_config: add possibilities to get source and commit hashes

be505a721ec2127932fd4373e8235842495516ad authored over 2 years ago
Support for uploading packages to a remote location

09a601cec194672ab9e9b8d19941dcde1577b8d9 authored over 2 years ago
First pass for integration with qubes-infrastructure

For now, only components build is supported using
qubesbuilder.TriggerBuild

577d6df0b514ef1ae3f737751166adf33fa70d5f authored over 2 years ago
Make linters happy

513348477b459a5ff7597cbee4b022e7e2a25136 authored over 2 years ago
component: add check=True when getting git commit hash

b09c6005068a031854d02f07b6ea782f40538da3 authored over 2 years ago
github: simple commit signature verification on auto-build

9da389c6722b47dbb8bdae8f28cf8b348d173521 authored over 2 years ago
component: make mypy happy

e4e9296e7c2d37bfb25fc999a3a6ffebb1eb8466 authored over 2 years ago
publish_rpm: add metalink creation when publishing

4a92bd23f0c6eb48fa1e820e40974abfa677adfe authored over 2 years ago
Reformat github plugin utils

691e3483fede7a4bc105c01560635f76cba028ae authored over 2 years ago
Few fixes for get-and-verify-source

5029cecb336478739cf827ef13d4f441ef5d2d8b authored over 2 years ago
Improve support for timeout globally/per component

eb68487c01d047ada66523e41a8df7dffee68655 authored over 2 years ago
Improve source fetch plugin

We add support to merge fetched sources into existing local
sources previously cloned.

fcbdaf9afba9b0981e948657b5175f124b65b925 authored over 2 years ago
cli: improve config and repository

794d82ed859134de731d644e429dbdceef91bc2f authored over 2 years ago
Fix Path and exception in local executor

449abe5f937f679ced93042c4b690f92a160b553 authored over 2 years ago
Use UTF-8 locale for GnuPG

This turns out to reduce its attack surface.

FIXME: should C.UTF-8 be used instead?

3d84a690e000791ad77fb8fe58809931c02b5d0f authored over 2 years ago
Validate syntax of each command

In addition to validating that the command is known and does not have
disallowed characters, val...

a44f2ed110c324fc71f8b8674a6051fc80ff6384 authored over 2 years ago
Document what check_command() does

It specifically checks commands from GitHub comments.

62fca51315632ed682bc8c30dcf652f35e46f78a authored over 2 years ago
Fix documentation of the Build-template command

It takes a release_name argument that was not mentioned.

905e52e5f02b89741acf9336186a701527684b10 authored over 2 years ago
Add a comment that 0x2E is '.'

Most people, including myself, have not memorized the ASCII chart.

407610fca59002f481c3ebf6582a8a638d9068cd authored over 2 years ago
Check that the message has a trailing newline

If the command does not end with a newline, the subsequent split would
return an iterable of len...

90d473e25d8c8f3d932707af0718ad0eb3fb419b authored over 2 years ago
Limit signatures to 8192 bytes

Even post-quantum signatures fit in that.

10c3a890d7045d55a5b43511df3cfabe703a37f5 authored over 2 years ago
Move signature rewrite into a separate function

The main function was getting long and unwieldy.

f2275c86325ddfbfb6ef4afa2b882c5ea3954f5e authored over 2 years ago
Replace base64 with binascii

The base64 module is just a wrapper for the built-in functions in the
binascii module.

525b8fc923f9b36a2471b78129a06d5bc31019a1 authored over 2 years ago
Rename “untrusted_b64” to “untrusted_binary_sig”

The latter better reflects what it is.

6e182d26e0cbea47d8442f1cb6d2be8435cf6de7 authored over 2 years ago
Parse armored sig as a whole, not line by line

It turns out to be both simpler and more correct to do it this way, and
Python's bytes.replace()...

b4b26e2c8c61996603f7c78e9e115bc88ce10083 authored over 2 years ago
Better error messages for bad commands

Use a custom exception class to avoid spewing a useless traceback.

d26c7508f9c6053849a524de9929b5182d8ccc59 authored over 2 years ago
Convert str to bytes sooner

This ensures that the rest of the code does not need to deal with
non-ASCII characters.

b321e02e4924c9494490fd9aac9dbadce1ba687a authored over 2 years ago
Revert "Hard-code webhook configuration"

It turns out that there are other users of this code that are not part
of this repository, and r...

0320ed6c51e3ec8b08cb1408e348b477f9e26c86 authored over 2 years ago
Strip all trailing whitespace

It should be ignored, but the armor parser rejects it. Strip it out in
the webhook.

7e46241735e4c71aafe04fb0b6c9959abca82eb9 authored over 2 years ago
Stricter qubesbuilder.TriggerBuild

- Use 'set -eu'
- Check that there is exactly one argument
- Check that the component name is no...

e04ded5f8062201f8d30faaff06299c6c513bbb6 authored over 2 years ago
Do not send a spurious trailing newline to qrexec

The new parser rejects this. This also ensures that a trailing newline
in the comment is not re...

00bbe45bdfe1a2fe0d65629e4e5d5bb12057b10b authored over 2 years ago
Avoid uncaught UnicodeEncodeError

Commands must be ASCII; enforce this.

cad9c60f19845fe8ad4d169b239291bad720cb41 authored over 2 years ago
Shrink the try-except block

TypeError and KeyError should only be thrown when accessing the parsed
JSON.

4f0d516a0ba51e87c6dd14f77aa64567ac1fc3d8 authored over 2 years ago
Hard-code webhook configuration

The only configuration is a list of modules, and there is only one
valid configuration. Hard-co...

70195ddc312cb0165bcecd81e7c1116e75d5ea05 authored over 2 years ago
Fix undefined variable

'lenlen' is not the correct variable name.

82e292f99bd4d43f378df8e6d17eb78bf8e2168a authored over 2 years ago
Allow missing blank line in signature

-----BEGIN PGP SIGNATURE----- should be followed by a blank line, but
the absence of such a line...

73626d7095993317eb860d4c9c600c44153b2afb authored over 2 years ago
Looser armor parsing

Now that a reconstructed version of the signature is sent to GnuPG,
there is no point in being s...

5e2b4fa5644b78aea8cb4b75a83519c3313b596e authored over 2 years ago
Disallow command words starting with dash

Those could be an option injection attempt.

02be7c9c60c84e0834b5070da231c1d01f94cdd2 authored over 2 years ago
Re-armor the signature before writing it

This avoids an untrusted binary file appearing in the filesystem. The
armored file is safe to v...

4990ee4b33d0c6b5f244fed8c968a15947c02d1c authored over 2 years ago
Remove incorrect assertion

The assertion could fail on crafted inputs.

f1bbce02865509ee951a7ba77ea79be2265d6424 authored over 2 years ago
Better error for overlong base64 lines

This will be helpful if this test ever fails.

1d190e00bd5e67c506f66568521b446c3f794b3c authored over 2 years ago
Remove unnecessary signature length check

This is implied by the requirement that the armored signature have at
least 64 bytes of base64 d...

34cf4fa835ccd9efe9f7f1c62c294546a3dcc325 authored over 2 years ago
Require signature to be at least 48 bytes

Also remove some code duplication.

2faaff3ed48725fc729d15272fb5f912912a84db authored over 2 years ago
Stricter command and signature validation

Check that the signature is v4, that the hash algorithm in the signature
matches the one in the ...

3de2fa274a1a101dcb4cfc11321391d83b35cc5e authored over 2 years ago
Catch a TypeError from bad JSON

Subscripting a list, int, float, bool, or None with a string will throw
a TypeError. Catch that.

dcc981561538634cd85353136243c712c017c926 authored over 2 years ago
Clean up commands in webhook

The new qrexec service has a very strict parser. Ensure that all
carriage returns and leading a...

58cd7f00096b82353ee4566fdbaa2c47a39f138b authored over 2 years ago
Use a hardened command parser in Python

This adds a hardened command parser in Python, replacing the old awk
script. The new parser per...

49c9a75b61086b46336f97a2e5d2c5684ca1a17c authored over 2 years ago
Merge branch 'devel270422' into devel

0029a03140cc9215934fee25a53b11cc22d6308e authored over 2 years ago
executors: ensure e.stderr is not None to log msg

84fa6a26e68f00bb752ab5fa888fc77aeb9eafdd authored over 2 years ago
publish_rpm: fix missing .name in previous refactor

7bfecc348d4cc9b8c4f39464df90921e8143364d authored over 2 years ago
Import builder-github

Importing from https://github.com/QubesOS/qubes-builder-github/commits/7ede45ef3dc49de7bf42af614...

5736937310b410828ddae3f5d85cfcfedabe66d3 authored over 2 years ago
Few fixes and improvements for stage checks

We ensure that for source, build, sign and publish we have the
required previous stage artifacts...

dc8938789f3a5b0ac65618343d650b4a7b9e8108 authored over 2 years ago
gitlab-ci: remove deprecated cobertura syntax

eff9d06646d62258fa26114175155c81bd0da1df authored over 2 years ago
Rework build targets definition

6a8f373290893a39cdfd00b4e303c056f35def7c authored over 2 years ago
Rework source fetch and prep to use sha512 and keep original hash

35bee9887d236103bb753986f2c6dd7da150333f authored over 2 years ago
Add config CLI in order to help getting parsed info from it

c0e68678045b2f45e4e14e085fae44ae1d3aa19f authored over 2 years ago
Support for including configuration

When special keys "distributions", "components", "templates" or
"stages" are prefixed with "+" t...

286e9c7db0f70c3ca45bbe3c56d0dd0d7416daf9 authored almost 3 years ago
publish: ensure to have build info

f9c4fc91173561363f2bd2969add328dbb102cb4 authored almost 3 years ago
publish_deb: fix directory basename

85ddc5f41a659447383ff0ba2d50d9873c5ae488 authored almost 3 years ago
source: rework dist filename determination

We step back on not allowing 'name' in files section in .qubesbuilder.
When a URL has not the go...

752bf8db8664b80af0a9d19b6a199b08020548fa authored almost 3 years ago
Include signature file into distfiles and source dir

074c97cfc46778f3b57cfd184e666d031f1eef3c authored almost 3 years ago