Merge d86279d64bdd19c34bbd8d5dcaeeef80654a6efc into 5cfd5166ea7680b784fd8cf556c6d07a9ecce260

This commit is contained in:
Victor Engmark 2023-07-25 12:40:43 +12:00 committed by GitHub
commit 2388010f09
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 128 additions and 102 deletions

View File

@ -1,13 +1,12 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: github-actions
- package-ecosystem: github-actions directory: "/"
directory: "/" schedule:
schedule: interval: daily
interval: daily time: "00:00"
time: '00:00' timezone: UTC
timezone: UTC open-pull-requests-limit: 10
open-pull-requests-limit: 10 commit-message:
commit-message:
prefix: "chore" prefix: "chore"
include: "scope" include: "scope"

View File

@ -12,29 +12,29 @@ jobs:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
nix_path: nixpkgs=channel:nixos-22.11 nix_path: nixpkgs=channel:nixos-22.11
- run: nix-env -iA cachix -f https://cachix.org/api/v1/install - run: nix-env -iA cachix -f https://cachix.org/api/v1/install
- run: cat /etc/nix/nix.conf - run: cat /etc/nix/nix.conf
# cachix should be available and be able to configure a cache # cachix should be available and be able to configure a cache
- run: cachix use cachix - run: cachix use cachix
- run: nix-build test.nix - run: nix-build test.nix
custom-nix-path: custom-nix-path:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
nix_path: nixpkgs=channel:nixos-20.03 nix_path: nixpkgs=channel:nixos-20.03
- run: test $NIX_PATH == "nixpkgs=channel:nixos-20.03" - run: test $NIX_PATH == "nixpkgs=channel:nixos-20.03"
- run: nix-build test.nix - run: nix-build test.nix
extra-nix-config: extra-nix-config:
strategy: strategy:
@ -42,15 +42,15 @@ jobs:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
nix_path: nixpkgs=channel:nixos-22.11 nix_path: nixpkgs=channel:nixos-22.11
extra_nix_config: | extra_nix_config: |
sandbox = relaxed sandbox = relaxed
- run: cat /etc/nix/nix.conf - run: cat /etc/nix/nix.conf
- run: nix-build test.nix --arg noChroot true - run: nix-build test.nix --arg noChroot true
flakes: flakes:
strategy: strategy:
@ -58,10 +58,10 @@ jobs:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
- run: nix flake show github:NixOS/nixpkgs - run: nix flake show github:NixOS/nixpkgs
installer-options: installer-options:
strategy: strategy:
@ -69,36 +69,46 @@ jobs:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
nix_path: nixpkgs=channel:nixos-22.11 nix_path: nixpkgs=channel:nixos-22.11
install_options: --tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve install_options: --tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve
install_url: https://nixos-nix-install-tests.cachix.org/serve/s62m7lc0q0mz2mxxm9q0kkrcg90njzhq/install install_url: https://nixos-nix-install-tests.cachix.org/serve/s62m7lc0q0mz2mxxm9q0kkrcg90njzhq/install
- run: nix-build test.nix - run: nix-build test.nix
oldest-supported-installer: oldest-supported-installer:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest] os: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Install Nix - name: Install Nix
uses: ./ uses: ./
with: with:
nix_path: nixpkgs=channel:nixos-22.11 nix_path: nixpkgs=channel:nixos-22.11
install_url: https://releases.nixos.org/nix/nix-2.8.0/install install_url: https://releases.nixos.org/nix/nix-2.8.0/install
- run: nix-build test.nix - run: nix-build test.nix
act-support: act-support:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest] os: [ubuntu-latest]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- run: curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash - run: curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
- run: docker pull ghcr.io/catthehacker/ubuntu:js-20.04 - run: docker pull ghcr.io/catthehacker/ubuntu:js-20.04
- run: ./bin/act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:js-20.04 push -j simple-build - run: ./bin/act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:js-20.04 push -j simple-build
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Nix
uses: ./
with:
nix_path: nixpkgs=channel:nixos-22.11
- run: nix-shell --packages cacert git nix nodejs pre-commit --pure --run 'pre-commit run --all-files'

3
.gitignore vendored
View File

@ -91,3 +91,6 @@ typings/
# DynamoDB Local files # DynamoDB Local files
.dynamodb/ .dynamodb/
# JetBrains IDEA configuration
/.idea/

14
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,14 @@
# Configuration file for pre-commit (https://pre-commit.com/).
# Please run `pre-commit run --all-files` when adding or changing entries.
repos:
- repo: https://github.com/kamadorueda/alejandra
rev: bb7f2ad3f176aa8e9e2944a10061f7989c8fef17 # frozen: 1.3.0
hooks:
- id: alejandra
- repo: https://github.com/pre-commit/mirrors-prettier
rev: 6f3cb139ef36133b6f903b97facc57b07cef57c9 # frozen: v3.0.0-alpha.6
hooks:
- id: prettier
stages: [commit]

View File

@ -33,11 +33,11 @@ jobs:
tests: tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: cachix/install-nix-action@v22 - uses: cachix/install-nix-action@v22
with: with:
nix_path: nixpkgs=channel:nixos-unstable nix_path: nixpkgs=channel:nixos-unstable
- run: nix-build - run: nix-build
``` ```
## Usage with Flakes ## Usage with Flakes
@ -51,12 +51,12 @@ jobs:
tests: tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: cachix/install-nix-action@v22 - uses: cachix/install-nix-action@v22
with: with:
github_access_token: ${{ secrets.GITHUB_TOKEN }} github_access_token: ${{ secrets.GITHUB_TOKEN }}
- run: nix build - run: nix build
- run: nix flake check - run: nix flake check
``` ```
To install Nix from any commit, go to [the corresponding installer_test action](https://github.com/NixOS/nix/runs/2219534360) and click on "Run cachix/install-nix-action@XX" step and expand the first line. To install Nix from any commit, go to [the corresponding installer_test action](https://github.com/NixOS/nix/runs/2219534360) and click on "Run cachix/install-nix-action@XX" step and expand the first line.

View File

@ -1,24 +1,24 @@
name: 'Install Nix' name: "Install Nix"
description: 'Installs Nix on GitHub Actions for the supported platforms: Linux and macOS.' description: "Installs Nix on GitHub Actions for the supported platforms: Linux and macOS."
author: 'Domen Kožar' author: "Domen Kožar"
inputs: inputs:
extra_nix_config: extra_nix_config:
description: 'Gets appended to `/etc/nix/nix.conf` if passed.' description: "Gets appended to `/etc/nix/nix.conf` if passed."
github_access_token: github_access_token:
description: 'Configure nix to pull from github using the given github token.' description: "Configure nix to pull from github using the given github token."
install_url: install_url:
description: 'Installation URL that will contain a script to install Nix.' description: "Installation URL that will contain a script to install Nix."
install_options: install_options:
description: 'Additional installer flags passed to the installer script.' description: "Additional installer flags passed to the installer script."
nix_path: nix_path:
description: 'Set NIX_PATH environment variable.' description: "Set NIX_PATH environment variable."
branding: branding:
color: 'blue' color: "blue"
icon: 'sun' icon: "sun"
runs: runs:
using: 'composite' using: "composite"
steps: steps:
- run : ${GITHUB_ACTION_PATH}/install-nix.sh - run: ${GITHUB_ACTION_PATH}/install-nix.sh
shell: bash shell: bash
env: env:
INPUT_EXTRA_NIX_CONFIG: ${{ inputs.extra_nix_config }} INPUT_EXTRA_NIX_CONFIG: ${{ inputs.extra_nix_config }}

View File

@ -1,18 +1,18 @@
# Realizes <num>> of derivations with size of <size>MB # Realizes <num>> of derivations with size of <size>MB
{ size ? 1 # MB {
, num ? 10 # count size ? 1, # MB
, currentTime ? builtins.currentTime num ? 10, # count
, noChroot ? false currentTime ? builtins.currentTime,
noChroot ? false,
}: }:
with import <nixpkgs> {}; let
with import <nixpkgs> {}; drv = i:
runCommand "${toString currentTime}-${toString i}" {
let __noChroot = noChroot;
drv = i: runCommand "${toString currentTime}-${toString i}" { } ''
__noChroot = noChroot; dd if=/dev/zero of=$out bs=${toString size}MB count=1
} '' '';
dd if=/dev/zero of=$out bs=${toString size}MB count=1 in
''; writeText "empty-${toString num}-${toString size}MB" ''
in writeText "empty-${toString num}-${toString size}MB" '' ${lib.concatMapStringsSep "" drv (lib.range 1 num)}
${lib.concatMapStringsSep "" drv (lib.range 1 num)} ''
''