mirror of
https://codeberg.org/icewind/attic-action.git
synced 2026-06-03 17:44:07 +02:00
Add nixBuildArgs parameter
This commit is contained in:
parent
a7cff0bb28
commit
a03feca499
5 changed files with 29 additions and 6 deletions
7
.github/workflows/test.yml
vendored
7
.github/workflows/test.yml
vendored
|
|
@ -32,6 +32,13 @@ jobs:
|
|||
with:
|
||||
name: cachix-action
|
||||
skipNixBuild: true
|
||||
- name: Test nixBuildArgs parameter
|
||||
uses: ./
|
||||
with:
|
||||
name: cachix-action
|
||||
file: test-with-arg.nix
|
||||
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
||||
nixBuildArgs: --argstr arg foobar
|
||||
- name: Test private cache
|
||||
uses: ./
|
||||
with:
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ inputs:
|
|||
description: 'Nix file to build. Defaults to default.nix'
|
||||
attributes:
|
||||
description: 'Nix attributes to nix-build. By default, all attributes are built.'
|
||||
nixBuildArgs:
|
||||
description: 'Additional arguments for nix-build.'
|
||||
branding:
|
||||
color: 'blue'
|
||||
icon: 'database'
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ function run() {
|
|||
const file = core.getInput('file');
|
||||
const skipNixBuild = core.getInput('skipNixBuild');
|
||||
const attributes = core.getInput('attributes');
|
||||
const nixBuildArgs = core.getInput('nixBuildArgs');
|
||||
const name = core.getInput('name', { required: true });
|
||||
const signingKey = core.getInput('signingKey');
|
||||
const authToken = core.getInput('authToken');
|
||||
|
|
@ -84,7 +85,8 @@ function run() {
|
|||
}
|
||||
};
|
||||
const args = strings_1.prependEach('-A', strings_1.nonEmptySplit(attributes, /\s+/)).concat([file || "default.nix"]);
|
||||
yield exec.exec('nix-build', args, options);
|
||||
const additionalArgs = strings_1.nonEmptySplit(nixBuildArgs, /\s+/);
|
||||
yield exec.exec('nix-build', additionalArgs.concat(args), options);
|
||||
core.endGroup();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ async function run() {
|
|||
const file = core.getInput('file');
|
||||
const skipNixBuild = core.getInput('skipNixBuild');
|
||||
const attributes = core.getInput('attributes');
|
||||
const nixBuildArgs = core.getInput('nixBuildArgs');
|
||||
const name = core.getInput('name', { required: true });
|
||||
const signingKey = core.getInput('signingKey');
|
||||
const authToken = core.getInput('authToken')
|
||||
|
|
@ -71,7 +72,8 @@ async function run() {
|
|||
}
|
||||
};
|
||||
const args = prependEach('-A', nonEmptySplit(attributes, /\s+/)).concat([file || "default.nix"]);
|
||||
await exec.exec('nix-build', args, options);
|
||||
const additionalArgs = nonEmptySplit(nixBuildArgs, /\s+/);
|
||||
await exec.exec('nix-build', additionalArgs.concat(args), options);
|
||||
core.endGroup()
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
|
|||
10
test-with-arg.nix
Normal file
10
test-with-arg.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{ arg ? null }:
|
||||
|
||||
with import <nixpkgs> {};
|
||||
|
||||
if arg == null
|
||||
then abort "arg is not set"
|
||||
else writeText "test-with-arg" ''
|
||||
${toString builtins.currentTime}
|
||||
${arg}
|
||||
''
|
||||
Loading…
Add table
Add a link
Reference in a new issue