From b316bc13cc628ff4e72e4a93f01954d15c913059 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Na=C3=AFm=20Favier?= Date: Wed, 30 Mar 2022 20:45:35 +0200 Subject: [PATCH] Workflow improvements (#458) - Separate building flake-info into a new workflow that's triggered on push and on relevant pull requests - Move frontend-related files into a `frontend` subdirectory --- .github/workflows/build-flake-info.yml | 29 ++++++++++++++++++ .github/workflows/check-flake-files.yml | 10 ++---- .github/workflows/frontend.yml | 11 +++---- .github/workflows/import-to-elasticsearch.yml | 24 --------------- .gitignore | 2 -- flake.nix | 2 +- default.nix => frontend/default.nix | 10 +++--- elm-srcs.nix => frontend/elm-srcs.nix | 0 elm.json => frontend/elm.json | 0 netlify.toml => frontend/netlify.toml | 0 package.json => frontend/package.json | 0 registry.dat => frontend/registry.dat | Bin {src => frontend/src}/Main.elm | 0 {src => frontend/src}/Page/Flakes.elm | 0 {src => frontend/src}/Page/Home.elm | 0 {src => frontend/src}/Page/Options.elm | 0 {src => frontend/src}/Page/Packages.elm | 0 {src => frontend/src}/Route.elm | 0 {src => frontend/src}/Route/SearchQuery.elm | 0 {src => frontend/src}/Search.elm | 0 {src => frontend/src}/Utils.elm | 0 {src => frontend/src}/View/Components.elm | 0 .../src}/View/Components/Body.elm | 0 .../src}/View/Components/SearchInput.elm | 0 {src => frontend/src}/assets/.gitkeep | 0 .../src}/assets/desc-search-options.xml | 0 .../src}/assets/desc-search-packages.xml | 0 {src => frontend/src}/assets/images/.gitkeep | 0 {src => frontend/src}/assets/images/logo.png | Bin {src => frontend/src}/index.html | 0 {src => frontend/src}/index.js | 0 {src => frontend/src}/index.less | 0 {tests => frontend/tests}/Example.elm | 0 versions.dat => frontend/versions.dat | Bin .../webpack.config.js | 0 yarn.lock => frontend/yarn.lock | 0 overlay.nix | 3 +- 37 files changed, 43 insertions(+), 48 deletions(-) create mode 100644 .github/workflows/build-flake-info.yml rename default.nix => frontend/default.nix (87%) rename elm-srcs.nix => frontend/elm-srcs.nix (100%) rename elm.json => frontend/elm.json (100%) rename netlify.toml => frontend/netlify.toml (100%) rename package.json => frontend/package.json (100%) rename registry.dat => frontend/registry.dat (100%) rename {src => frontend/src}/Main.elm (100%) rename {src => frontend/src}/Page/Flakes.elm (100%) rename {src => frontend/src}/Page/Home.elm (100%) rename {src => frontend/src}/Page/Options.elm (100%) rename {src => frontend/src}/Page/Packages.elm (100%) rename {src => frontend/src}/Route.elm (100%) rename {src => frontend/src}/Route/SearchQuery.elm (100%) rename {src => frontend/src}/Search.elm (100%) rename {src => frontend/src}/Utils.elm (100%) rename {src => frontend/src}/View/Components.elm (100%) rename {src => frontend/src}/View/Components/Body.elm (100%) rename {src => frontend/src}/View/Components/SearchInput.elm (100%) rename {src => frontend/src}/assets/.gitkeep (100%) rename {src => frontend/src}/assets/desc-search-options.xml (100%) rename {src => frontend/src}/assets/desc-search-packages.xml (100%) rename {src => frontend/src}/assets/images/.gitkeep (100%) rename {src => frontend/src}/assets/images/logo.png (100%) rename {src => frontend/src}/index.html (100%) rename {src => frontend/src}/index.js (100%) rename {src => frontend/src}/index.less (100%) rename {tests => frontend/tests}/Example.elm (100%) rename versions.dat => frontend/versions.dat (100%) rename webpack.config.js => frontend/webpack.config.js (100%) rename yarn.lock => frontend/yarn.lock (100%) diff --git a/.github/workflows/build-flake-info.yml b/.github/workflows/build-flake-info.yml new file mode 100644 index 0000000..5db2cee --- /dev/null +++ b/.github/workflows/build-flake-info.yml @@ -0,0 +1,29 @@ +name: "Build flake-info" +on: + pull_request: + paths: + - "flake.nix" + - "flake.lock" + - "flake-info/**" + + push: + branches: + - main + +jobs: + build-flake-info: + runs-on: ubuntu-latest + steps: + - name: Checking out the repository + uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/common-setup + with: + CACHIX_SIGNING_KEY: ${{ secrets.CACHIX_SIGNING_KEY }} + + + + - name: Building flake-info + run: | + nix -vL build .#flake-info diff --git a/.github/workflows/check-flake-files.yml b/.github/workflows/check-flake-files.yml index 715f4c3..ea1472e 100644 --- a/.github/workflows/check-flake-files.yml +++ b/.github/workflows/check-flake-files.yml @@ -26,10 +26,6 @@ jobs: with: CACHIX_SIGNING_KEY: ${{ secrets.CACHIX_SIGNING_KEY }} - - name: Building import_scripts - run: | - nix build .#flake-info - - name: Try importing all custom flakes run: | shopt -s globstar @@ -39,8 +35,8 @@ jobs: for flake_group in flakes/**/*.toml do echo "::group::Group \"$(basename $flake_group .toml)\"" - - ./result/bin/flake-info group "$flake_group" "$(basename "$flake_group" .toml)" --report + + nix run .#flake-info -- group "$flake_group" "$(basename "$flake_group" .toml)" --report if [[ -f "./report.txt" ]] then @@ -52,7 +48,7 @@ jobs: report="${report//'%'/'%25'}" report="${report//$'\n'/'%0A'}" report="${report//$'\r'/'%0D'}" - + echo "::error file=$flake_group::$report" fi diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index 6566f7a..4b13f3e 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -2,13 +2,10 @@ name: "Frontend: Build & Deploy to Netlify" on: pull_request: paths: - - "src/**" - - "elm-srcs.nix" - - "elm.json" - - "netflify.toml" + - "flake.nix" + - "flake.lock" + - "frontend/**" - "VERSION" - - "webpack.config.js" - - "yarn.lock" push: branches: @@ -49,4 +46,4 @@ jobs: enable-commit-comment: true enable-commit-status: true overwrites-pull-request-comment: false - if: github.repository == 'NixOS/nixos-search' + if: github.repository_owner == 'NixOS' diff --git a/.github/workflows/import-to-elasticsearch.yml b/.github/workflows/import-to-elasticsearch.yml index a7341de..7cac067 100644 --- a/.github/workflows/import-to-elasticsearch.yml +++ b/.github/workflows/import-to-elasticsearch.yml @@ -7,29 +7,7 @@ on: jobs: - - - build-flake-info: - runs-on: ubuntu-latest - - steps: - - name: Checking out the repository - uses: actions/checkout@v3 - - - name: Setup - uses: ./.github/actions/common-setup - with: - CACHIX_SIGNING_KEY: ${{ secrets.CACHIX_SIGNING_KEY }} - - - name: Building flake-info - run: | - nix -vL build .#flake-info - - - import-nixpkgs: - needs: build-flake-info - runs-on: ubuntu-latest strategy: @@ -75,8 +53,6 @@ jobs: import-flakes: - needs: build-flake-info - runs-on: ubuntu-latest strategy: diff --git a/.gitignore b/.gitignore index 589cd84..e35637a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,6 @@ dist elm-stuff/ eval-* ignore -import-scripts/import_scripts/__pycache__/ -import-scripts/tests/__pycache__/ logs node_modules npm-debug.log* diff --git a/flake.nix b/flake.nix index 2f80e4c..742dc45 100644 --- a/flake.nix +++ b/flake.nix @@ -30,7 +30,7 @@ packages.default = packages.flake-info; packages.flake-info = import ./flake-info { inherit pkgs; }; - packages.frontend = import ./. { inherit pkgs; }; + packages.frontend = import ./frontend { inherit pkgs; }; devShells.default = pkgs.mkShell { inputsFrom = builtins.attrValues packages; diff --git a/default.nix b/frontend/default.nix similarity index 87% rename from default.nix rename to frontend/default.nix index b3440fa..4b5667f 100644 --- a/default.nix +++ b/frontend/default.nix @@ -1,5 +1,5 @@ { pkgs ? import { } -, version ? pkgs.lib.removeSuffix "\n" (builtins.readFile ./VERSION) +, version ? pkgs.lib.removeSuffix "\n" (builtins.readFile ../VERSION) }: let package = builtins.fromJSON (builtins.readFile ./package.json); @@ -76,12 +76,12 @@ pkgs.stdenv.mkDerivation { cp netlify.toml $out/ ''; shellHook = '' - rm -rf node_modules - ln -sf ${yarnPkg}/libexec/${package.name}/node_modules . - export PATH=$PWD/node_modules/.bin:$PATH + rm -rf frontend/node_modules + ln -sf ${yarnPkg}/libexec/${package.name}/node_modules frontend/ + export PATH=$PWD/frontend/node_modules/.bin:$PATH export ELASTICSEARCH_MAPPING_SCHEMA_VERSION=${version} echo "============================" - echo "= To develop run: yarn dev =" + echo "= To develop the frontend run: cd frontend && yarn dev =" echo "============================" ''; diff --git a/elm-srcs.nix b/frontend/elm-srcs.nix similarity index 100% rename from elm-srcs.nix rename to frontend/elm-srcs.nix diff --git a/elm.json b/frontend/elm.json similarity index 100% rename from elm.json rename to frontend/elm.json diff --git a/netlify.toml b/frontend/netlify.toml similarity index 100% rename from netlify.toml rename to frontend/netlify.toml diff --git a/package.json b/frontend/package.json similarity index 100% rename from package.json rename to frontend/package.json diff --git a/registry.dat b/frontend/registry.dat similarity index 100% rename from registry.dat rename to frontend/registry.dat diff --git a/src/Main.elm b/frontend/src/Main.elm similarity index 100% rename from src/Main.elm rename to frontend/src/Main.elm diff --git a/src/Page/Flakes.elm b/frontend/src/Page/Flakes.elm similarity index 100% rename from src/Page/Flakes.elm rename to frontend/src/Page/Flakes.elm diff --git a/src/Page/Home.elm b/frontend/src/Page/Home.elm similarity index 100% rename from src/Page/Home.elm rename to frontend/src/Page/Home.elm diff --git a/src/Page/Options.elm b/frontend/src/Page/Options.elm similarity index 100% rename from src/Page/Options.elm rename to frontend/src/Page/Options.elm diff --git a/src/Page/Packages.elm b/frontend/src/Page/Packages.elm similarity index 100% rename from src/Page/Packages.elm rename to frontend/src/Page/Packages.elm diff --git a/src/Route.elm b/frontend/src/Route.elm similarity index 100% rename from src/Route.elm rename to frontend/src/Route.elm diff --git a/src/Route/SearchQuery.elm b/frontend/src/Route/SearchQuery.elm similarity index 100% rename from src/Route/SearchQuery.elm rename to frontend/src/Route/SearchQuery.elm diff --git a/src/Search.elm b/frontend/src/Search.elm similarity index 100% rename from src/Search.elm rename to frontend/src/Search.elm diff --git a/src/Utils.elm b/frontend/src/Utils.elm similarity index 100% rename from src/Utils.elm rename to frontend/src/Utils.elm diff --git a/src/View/Components.elm b/frontend/src/View/Components.elm similarity index 100% rename from src/View/Components.elm rename to frontend/src/View/Components.elm diff --git a/src/View/Components/Body.elm b/frontend/src/View/Components/Body.elm similarity index 100% rename from src/View/Components/Body.elm rename to frontend/src/View/Components/Body.elm diff --git a/src/View/Components/SearchInput.elm b/frontend/src/View/Components/SearchInput.elm similarity index 100% rename from src/View/Components/SearchInput.elm rename to frontend/src/View/Components/SearchInput.elm diff --git a/src/assets/.gitkeep b/frontend/src/assets/.gitkeep similarity index 100% rename from src/assets/.gitkeep rename to frontend/src/assets/.gitkeep diff --git a/src/assets/desc-search-options.xml b/frontend/src/assets/desc-search-options.xml similarity index 100% rename from src/assets/desc-search-options.xml rename to frontend/src/assets/desc-search-options.xml diff --git a/src/assets/desc-search-packages.xml b/frontend/src/assets/desc-search-packages.xml similarity index 100% rename from src/assets/desc-search-packages.xml rename to frontend/src/assets/desc-search-packages.xml diff --git a/src/assets/images/.gitkeep b/frontend/src/assets/images/.gitkeep similarity index 100% rename from src/assets/images/.gitkeep rename to frontend/src/assets/images/.gitkeep diff --git a/src/assets/images/logo.png b/frontend/src/assets/images/logo.png similarity index 100% rename from src/assets/images/logo.png rename to frontend/src/assets/images/logo.png diff --git a/src/index.html b/frontend/src/index.html similarity index 100% rename from src/index.html rename to frontend/src/index.html diff --git a/src/index.js b/frontend/src/index.js similarity index 100% rename from src/index.js rename to frontend/src/index.js diff --git a/src/index.less b/frontend/src/index.less similarity index 100% rename from src/index.less rename to frontend/src/index.less diff --git a/tests/Example.elm b/frontend/tests/Example.elm similarity index 100% rename from tests/Example.elm rename to frontend/tests/Example.elm diff --git a/versions.dat b/frontend/versions.dat similarity index 100% rename from versions.dat rename to frontend/versions.dat diff --git a/webpack.config.js b/frontend/webpack.config.js similarity index 100% rename from webpack.config.js rename to frontend/webpack.config.js diff --git a/yarn.lock b/frontend/yarn.lock similarity index 100% rename from yarn.lock rename to frontend/yarn.lock diff --git a/overlay.nix b/overlay.nix index e71618a..e13d7db 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,8 +1,7 @@ final: prev: { nixos-search = { - frontend = import ./. { pkgs = prev; }; - import_scripts = import ./import-scripts { pkgs = prev; }; + frontend = import ./frontend { pkgs = prev; }; flake-info = import ./flake-info { pkgs = prev; }; }; }