7 Commits
v12 ... v14

Author SHA1 Message Date
0ad9a55048 feat: allow specifying a path to flake.nix within the repository 2022-09-14 07:46:21 -07:00
0ed7fb71ea build(deps): bump cachix/install-nix-action from 16 to 17
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 16 to 17.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v16...v17)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-07 09:08:06 -07:00
03bec486c7 dependabot: init
We now rely on a few external actions, so let's make sure to keep them
up-to-date.
2022-08-19 11:42:26 -07:00
235f95922e chore: bump crazy-max/ghaction-import-gpg 2022-08-19 11:40:14 -07:00
42dbe10fb3 docs: explain the gpg-fingerprint input parameter 2022-08-19 11:39:18 -07:00
a8f58509de feat: allow using a subkey for GPG signing 2022-08-19 11:39:18 -07:00
ea4115a12c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/e0169d7a9d324afebf5679551407756c77af8930' (2022-06-08)
  → 'github:nixos/nixpkgs/8d435fca5c561da8168abb30270788d2da2a7951' (2022-07-29)
2022-08-01 08:07:06 -07:00
7 changed files with 29 additions and 6 deletions

6
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

View File

@ -12,6 +12,6 @@ jobs:
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Install Nix - name: Install Nix
uses: cachix/install-nix-action@v16 uses: cachix/install-nix-action@v17
- name: Shellcheck - name: Shellcheck
run: nix-shell --run 'shellcheck $(find . -type f -name "*.sh" -executable)' run: nix-shell --run 'shellcheck $(find . -type f -name "*.sh" -executable)'

View File

@ -11,7 +11,7 @@ jobs:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: cachix/install-nix-action@v16 uses: cachix/install-nix-action@v17
with: with:
extra_nix_config: | extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}

View File

@ -122,6 +122,7 @@ jobs:
uses: DeterminateSystems/update-flake-lock@vX uses: DeterminateSystems/update-flake-lock@vX
with: with:
inputs: input1 input2 input3 inputs: input1 input2 input3
path-to-flake-dir: 'nix/' # in this example our flake doesn't sit at the root of the repository, it sits under 'nix/flake.nix'
``` ```
## Running GitHub Actions CI ## Running GitHub Actions CI
@ -176,6 +177,8 @@ For the bot to produce signed commits, you will have to provide the GPG private
When using commit signing, the commit author name and email for the commits produced by this bot would correspond to the ones associated to the GPG Public Key. When using commit signing, the commit author name and email for the commits produced by this bot would correspond to the ones associated to the GPG Public Key.
If you want to sign using a subkey, you must specify the subkey fingerprint using the `gpg-fingerprint` input parameter.
You can find an example of how to using this action with commit signing below: You can find an example of how to using this action with commit signing below:
```yaml ```yaml
@ -198,6 +201,7 @@ jobs:
with: with:
sign-commits: true sign-commits: true
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg-fingerprint: ${{ secrets.GPG_FINGERPRINT }} # specify subkey fingerprint (optional)
gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }} gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }}
``` ```

View File

@ -17,6 +17,10 @@ inputs:
description: 'The branch of the PR to be created' description: 'The branch of the PR to be created'
required: false required: false
default: "update_flake_lock_action" default: "update_flake_lock_action"
path-to-flake-dir:
description: 'The path of the directory containing `flake.nix` file within your repository. Useful when `flake.nix` cannot reside at the root of your repository.'
required: false
default: ''
pr-title: pr-title:
description: 'The title of the PR to be created' description: 'The title of the PR to be created'
required: false required: false
@ -57,6 +61,9 @@ inputs:
description: 'GPG Private Key with which to sign the commits in the PR to be created' description: 'GPG Private Key with which to sign the commits in the PR to be created'
required: false required: false
default: '' default: ''
gpg-fingerprint:
description: 'Fingerprint of specific GPG subkey to use'
required: false
gpg-passphrase: gpg-passphrase:
description: 'GPG Private Key Passphrase for the GPG Private Key with which to sign the commits in the PR to be created' description: 'GPG Private Key Passphrase for the GPG Private Key with which to sign the commits in the PR to be created'
required: false required: false
@ -71,9 +78,10 @@ runs:
- name: Import bot's GPG key for signing commits - name: Import bot's GPG key for signing commits
if: ${{ inputs.sign-commits == 'true' }} if: ${{ inputs.sign-commits == 'true' }}
id: import-gpg id: import-gpg
uses: crazy-max/ghaction-import-gpg@v4 uses: crazy-max/ghaction-import-gpg@v5
with: with:
gpg_private_key: ${{ inputs.gpg-private-key }} gpg_private_key: ${{ inputs.gpg-private-key }}
fingerprint: ${{ inputs.gpg-fingerprint }}
passphrase: ${{ inputs.gpg-passphrase }} passphrase: ${{ inputs.gpg-passphrase }}
git_config_global: true git_config_global: true
git_user_signingkey: true git_user_signingkey: true
@ -110,6 +118,7 @@ runs:
GIT_COMMITTER_EMAIL: ${{ env.GIT_COMMITTER_EMAIL }} GIT_COMMITTER_EMAIL: ${{ env.GIT_COMMITTER_EMAIL }}
TARGETS: ${{ inputs.inputs }} TARGETS: ${{ inputs.inputs }}
COMMIT_MSG: ${{ inputs.commit-msg }} COMMIT_MSG: ${{ inputs.commit-msg }}
PATH_TO_FLAKE_DIR: ${{ inputs.path-to-flake-dir }}
- name: Save PR Body as file - name: Save PR Body as file
uses: DamianReeves/write-file-action@v1.1 uses: DamianReeves/write-file-action@v1.1
with: with:

6
flake.lock generated
View File

@ -2,11 +2,11 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1654682581, "lastModified": 1659131907,
"narHash": "sha256-Jb1PQCwKgwdNAp907eR5zPzuxV+kRroA3UIxUxCMJ9s=", "narHash": "sha256-8bz4k18M/FuVC+EVcI4aREN2PsEKT7LGmU2orfjnpCg=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e0169d7a9d324afebf5679551407756c77af8930", "rev": "8d435fca5c561da8168abb30270788d2da2a7951",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -1,6 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
if [[ -n "$PATH_TO_FLAKE_DIR" ]]; then
cd "$PATH_TO_FLAKE_DIR"
fi
if [[ -n "$TARGETS" ]]; then if [[ -n "$TARGETS" ]]; then
inputs=() inputs=()
for input in $TARGETS; do for input in $TARGETS; do