diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1a1a1c8..66647b5 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,13 +1,12 @@ version: 2 updates: - -- package-ecosystem: github-actions - directory: "/" - schedule: - interval: daily - time: '00:00' - timezone: UTC - open-pull-requests-limit: 10 - commit-message: + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: daily + time: "00:00" + timezone: UTC + open-pull-requests-limit: 10 + commit-message: prefix: "chore" - include: "scope" \ No newline at end of file + include: "scope" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c1b96e2..157fab3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,29 +12,29 @@ jobs: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - name: Install Nix - uses: ./ - with: - nix_path: nixpkgs=channel:nixos-22.11 - - run: nix-env -iA cachix -f https://cachix.org/api/v1/install - - run: cat /etc/nix/nix.conf - # cachix should be available and be able to configure a cache - - run: cachix use cachix - - run: nix-build test.nix + - uses: actions/checkout@v3 + - name: Install Nix + uses: ./ + with: + nix_path: nixpkgs=channel:nixos-22.11 + - run: nix-env -iA cachix -f https://cachix.org/api/v1/install + - run: cat /etc/nix/nix.conf + # cachix should be available and be able to configure a cache + - run: cachix use cachix + - run: nix-build test.nix custom-nix-path: strategy: matrix: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - name: Install Nix - uses: ./ - with: - nix_path: nixpkgs=channel:nixos-20.03 - - run: test $NIX_PATH == "nixpkgs=channel:nixos-20.03" - - run: nix-build test.nix + - uses: actions/checkout@v3 + - name: Install Nix + uses: ./ + with: + nix_path: nixpkgs=channel:nixos-20.03 + - run: test $NIX_PATH == "nixpkgs=channel:nixos-20.03" + - run: nix-build test.nix extra-nix-config: strategy: @@ -42,15 +42,15 @@ jobs: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - name: Install Nix - uses: ./ - with: - nix_path: nixpkgs=channel:nixos-22.11 - extra_nix_config: | - sandbox = relaxed - - run: cat /etc/nix/nix.conf - - run: nix-build test.nix --arg noChroot true + - uses: actions/checkout@v3 + - name: Install Nix + uses: ./ + with: + nix_path: nixpkgs=channel:nixos-22.11 + extra_nix_config: | + sandbox = relaxed + - run: cat /etc/nix/nix.conf + - run: nix-build test.nix --arg noChroot true flakes: strategy: @@ -58,10 +58,10 @@ jobs: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - name: Install Nix - uses: ./ - - run: nix flake show github:NixOS/nixpkgs + - uses: actions/checkout@v3 + - name: Install Nix + uses: ./ + - run: nix flake show github:NixOS/nixpkgs installer-options: strategy: @@ -69,36 +69,46 @@ jobs: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - name: Install Nix - uses: ./ - with: - nix_path: nixpkgs=channel:nixos-22.11 - 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 - - run: nix-build test.nix + - uses: actions/checkout@v3 + - name: Install Nix + uses: ./ + with: + nix_path: nixpkgs=channel:nixos-22.11 + 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 + - run: nix-build test.nix oldest-supported-installer: strategy: - matrix: - os: [ubuntu-latest, macos-latest] + matrix: + os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - name: Install Nix - uses: ./ - with: - nix_path: nixpkgs=channel:nixos-22.11 - install_url: https://releases.nixos.org/nix/nix-2.8.0/install - - run: nix-build test.nix + - uses: actions/checkout@v3 + - name: Install Nix + uses: ./ + with: + nix_path: nixpkgs=channel:nixos-22.11 + install_url: https://releases.nixos.org/nix/nix-2.8.0/install + - run: nix-build test.nix act-support: strategy: - matrix: - os: [ubuntu-latest] + matrix: + os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - - run: curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash - - 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 + - uses: actions/checkout@v3 + - run: curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash + - 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 + + 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' diff --git a/.gitignore b/.gitignore index ffdd18c..c8b5532 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,6 @@ typings/ # DynamoDB Local files .dynamodb/ + +# JetBrains IDEA configuration +/.idea/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..2fc24e8 --- /dev/null +++ b/.pre-commit-config.yaml @@ -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] diff --git a/README.md b/README.md index c446da3..122fad1 100644 --- a/README.md +++ b/README.md @@ -33,11 +33,11 @@ jobs: tests: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: cachix/install-nix-action@v22 - with: - nix_path: nixpkgs=channel:nixos-unstable - - run: nix-build + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 + with: + nix_path: nixpkgs=channel:nixos-unstable + - run: nix-build ``` ## Usage with Flakes @@ -51,12 +51,12 @@ jobs: tests: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: cachix/install-nix-action@v22 - with: - github_access_token: ${{ secrets.GITHUB_TOKEN }} - - run: nix build - - run: nix flake check + - uses: actions/checkout@v3 + - uses: cachix/install-nix-action@v22 + with: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + - run: nix build + - 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. diff --git a/action.yml b/action.yml index 9bd8e05..9c667a9 100644 --- a/action.yml +++ b/action.yml @@ -1,24 +1,24 @@ -name: 'Install Nix' -description: 'Installs Nix on GitHub Actions for the supported platforms: Linux and macOS.' -author: 'Domen Kožar' +name: "Install Nix" +description: "Installs Nix on GitHub Actions for the supported platforms: Linux and macOS." +author: "Domen Kožar" inputs: 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: - 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: - description: 'Installation URL that will contain a script to install Nix.' + description: "Installation URL that will contain a script to install Nix." install_options: - description: 'Additional installer flags passed to the installer script.' + description: "Additional installer flags passed to the installer script." nix_path: - description: 'Set NIX_PATH environment variable.' + description: "Set NIX_PATH environment variable." branding: - color: 'blue' - icon: 'sun' + color: "blue" + icon: "sun" runs: - using: 'composite' + using: "composite" steps: - - run : ${GITHUB_ACTION_PATH}/install-nix.sh + - run: ${GITHUB_ACTION_PATH}/install-nix.sh shell: bash env: INPUT_EXTRA_NIX_CONFIG: ${{ inputs.extra_nix_config }} diff --git a/test.nix b/test.nix index 4f6ba38..998affd 100644 --- a/test.nix +++ b/test.nix @@ -1,18 +1,18 @@ # Realizes > of derivations with size of MB -{ size ? 1 # MB -, num ? 10 # count -, currentTime ? builtins.currentTime -, noChroot ? false +{ + size ? 1, # MB + num ? 10, # count + currentTime ? builtins.currentTime, + noChroot ? false, }: - -with import {}; - -let - drv = i: runCommand "${toString currentTime}-${toString i}" { - __noChroot = noChroot; - } '' - dd if=/dev/zero of=$out bs=${toString size}MB count=1 - ''; -in writeText "empty-${toString num}-${toString size}MB" '' - ${lib.concatMapStringsSep "" drv (lib.range 1 num)} -'' +with import {}; let + drv = i: + runCommand "${toString currentTime}-${toString i}" { + __noChroot = noChroot; + } '' + dd if=/dev/zero of=$out bs=${toString size}MB count=1 + ''; +in + writeText "empty-${toString num}-${toString size}MB" '' + ${lib.concatMapStringsSep "" drv (lib.range 1 num)} + ''