mirror of
https://codeberg.org/icewind/attic-action.git
synced 2026-06-03 17:44:07 +02:00
Merge pull request #45 from cachix/ignore-garbage-collected
Ignore garbage collected
This commit is contained in:
commit
0a765b01e8
4 changed files with 35 additions and 21 deletions
46
.github/workflows/test.yml
vendored
46
.github/workflows/test.yml
vendored
|
|
@ -4,45 +4,53 @@ on:
|
||||||
push:
|
push:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
tests:
|
public-cache:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-18.04, macos]
|
os: [ubuntu-18.04, macos]
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
- run: yarn install --frozen-lockfile
|
- run: yarn install --frozen-lockfile
|
||||||
- run: yarn build
|
- run: yarn build
|
||||||
- run: yarn test
|
|
||||||
- uses: cachix/install-nix-action@v8
|
- uses: cachix/install-nix-action@v8
|
||||||
- name: Test public cache
|
- name: Test public cache
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
name: cachix-action
|
name: cachix-action
|
||||||
file: test.nix
|
|
||||||
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
||||||
|
- run: nix-build test.nix
|
||||||
|
|
||||||
|
public-cache-no-signing-key:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-18.04, macos]
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- run: yarn install --frozen-lockfile
|
||||||
|
- run: yarn build
|
||||||
|
- uses: cachix/install-nix-action@v8
|
||||||
- name: Test public cache no signing key
|
- name: Test public cache no signing key
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
name: cachix-action
|
name: cachix-action
|
||||||
file: test.nix
|
- run: nix-build test.nix
|
||||||
signingKey: ''
|
|
||||||
- name: Test public cache no pushing
|
private-cache:
|
||||||
uses: ./
|
strategy:
|
||||||
with:
|
matrix:
|
||||||
name: cachix-action
|
os: [ubuntu-18.04, macos]
|
||||||
skipNixBuild: true
|
runs-on: ${{ matrix.os }}
|
||||||
- name: Test nixBuildArgs parameter
|
steps:
|
||||||
uses: ./
|
- uses: actions/checkout@v2
|
||||||
with:
|
- run: yarn install --frozen-lockfile
|
||||||
name: cachix-action
|
- run: yarn build
|
||||||
file: test-with-arg.nix
|
- uses: cachix/install-nix-action@v8
|
||||||
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
|
|
||||||
nixBuildArgs: --argstr arg foobar
|
|
||||||
- name: Test private cache
|
- name: Test private cache
|
||||||
uses: ./
|
uses: ./
|
||||||
with:
|
with:
|
||||||
name: cachix-action-private
|
name: cachix-action-private
|
||||||
file: test.nix
|
|
||||||
signingKey: '${{ secrets.CACHIX_SIGNING_KEY_PRIVATE }}'
|
signingKey: '${{ secrets.CACHIX_SIGNING_KEY_PRIVATE }}'
|
||||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||||
|
- run: nix-build test.nix
|
||||||
|
|
|
||||||
3
dist/main/index.js
vendored
3
dist/main/index.js
vendored
|
|
@ -971,6 +971,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const core = __importStar(__webpack_require__(470));
|
const core = __importStar(__webpack_require__(470));
|
||||||
|
const child_process_1 = __webpack_require__(129);
|
||||||
const coreCommand = __importStar(__webpack_require__(431));
|
const coreCommand = __importStar(__webpack_require__(431));
|
||||||
const exec = __importStar(__webpack_require__(986));
|
const exec = __importStar(__webpack_require__(986));
|
||||||
exports.IsPost = !!process.env['STATE_isPost'];
|
exports.IsPost = !!process.env['STATE_isPost'];
|
||||||
|
|
@ -1010,7 +1011,7 @@ function upload() {
|
||||||
try {
|
try {
|
||||||
if (signingKey !== "" && skipPush !== 'true') {
|
if (signingKey !== "" && skipPush !== 'true') {
|
||||||
core.startGroup('Cachix: pushing paths');
|
core.startGroup('Cachix: pushing paths');
|
||||||
yield exec.exec("sh", ["-c", `nix path-info --all | grep -v '\.drv$' | cat - /tmp/store-path-pre-build | sort | uniq -u | ${cachixExecutable} push ${name}`]);
|
child_process_1.execFileSync(`${__dirname}/push-paths.sh`, { stdio: 'inherit' });
|
||||||
core.endGroup();
|
core.endGroup();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
4
dist/main/push-paths.sh
vendored
Executable file
4
dist/main/push-paths.sh
vendored
Executable file
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
comm -13 <(sort /tmp/store-path-pre-build) <(nix path-info --all | grep -v '\.drv$' | sort) | $1 push -j8 $2
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import * as core from '@actions/core';
|
import * as core from '@actions/core';
|
||||||
|
import { execFileSync } from 'child_process';
|
||||||
import * as coreCommand from '@actions/core/lib/command'
|
import * as coreCommand from '@actions/core/lib/command'
|
||||||
import * as exec from '@actions/exec';
|
import * as exec from '@actions/exec';
|
||||||
|
|
||||||
|
|
@ -41,7 +42,7 @@ async function upload() {
|
||||||
try {
|
try {
|
||||||
if (signingKey !== "" && skipPush !== 'true') {
|
if (signingKey !== "" && skipPush !== 'true') {
|
||||||
core.startGroup('Cachix: pushing paths');
|
core.startGroup('Cachix: pushing paths');
|
||||||
await exec.exec("sh", ["-c", `nix path-info --all | grep -v '\.drv$' | cat - /tmp/store-path-pre-build | sort | uniq -u | ${cachixExecutable} push ${name}`]);
|
execFileSync(`${__dirname}/push-paths.sh`, [cachixExecutable, name], { stdio: 'inherit' });
|
||||||
core.endGroup();
|
core.endGroup();
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue