{"id":18400529,"url":"https://github.com/dsi-hug/actions","last_synced_at":"2026-05-19T03:14:36.514Z","repository":{"id":243228712,"uuid":"811841363","full_name":"DSI-HUG/actions","owner":"DSI-HUG","description":"😺 Reusable Github workflows mainly designed to be used by the HUG organization's team","archived":false,"fork":false,"pushed_at":"2025-02-05T09:27:29.000Z","size":33,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-12T17:44:38.810Z","etag":null,"topics":["github-actions","reusable-workflow","yaml"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DSI-HUG.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-07T12:12:44.000Z","updated_at":"2025-02-05T09:27:13.000Z","dependencies_parsed_at":"2024-11-06T03:03:55.214Z","dependency_job_id":"3fcd2b9c-4834-4752-a351-6c86b3348aec","html_url":"https://github.com/DSI-HUG/actions","commit_stats":null,"previous_names":["dsi-hug/action"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/DSI-HUG/actions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSI-HUG%2Factions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSI-HUG%2Factions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSI-HUG%2Factions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSI-HUG%2Factions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DSI-HUG","download_url":"https://codeload.github.com/DSI-HUG/actions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DSI-HUG%2Factions/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265692402,"owners_count":23812198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions","reusable-workflow","yaml"],"created_at":"2024-11-06T02:34:21.798Z","updated_at":"2026-05-19T03:14:36.507Z","avatar_url":"https://github.com/DSI-HUG.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    dsi-hug/actions\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://www.hug.ch\"\u003e\n        \u003cimg src=\"https://cdn.hug.ch/svgs/hug/hug-logo-horizontal.svg\" alt=\"hug-logo\" height=\"54px\" /\u003e\n    \u003c/a\u003e\n    \u003cbr/\u003e\u003cbr/\u003e\n    \u003ci\u003eReusable Github workflows mainly designed to be used by the \u003ca href=\"https://github.com/dsi-hug\"\u003eHUG organization's team\u003c/a\u003e\u003c/i\u003e\n    \u003cbr/\u003e\u003cbr/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/dsi-hug/action/blob/main/CONTRIBUTING.md#-submitting-a-pull-request-pr\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs welcome\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/dsi-hug/action/blob/main/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/license-GPLv3-ff69b4.svg\" alt=\"license GPLv3\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003chr/\u003e\n\nThe following workflows are available:\n\n#### - Setup\nRuns the following steps in order:\n```\n1. Checkout sources\n2. Setup chrome (optional)\n3. Setup git\n4. Setup node\n5. Setup npm\n6. Cache .angular and node_modules\n7. Install npm dependencies\n```\n\n#### - Action\nRuns the following steps in order and also apply a matrix strategy to run them on different types of machine and node versions:\n```md\n1. Run the setup workflow\n2. Lint (optional)\n3. Test (optional)\n4. Build (optional)\n5. Release dry-run (optional)\n6. Release (optional)\n```\n\n## Usage\n\n### [dsi-hug/actions/setup](./setup/action.yml)\n```yaml\njobs.\u003cjob_id\u003e.steps[*]:\n  - name: Setup\n    uses: dsi-hug/actions/setup@v4\n    with:\n      #\n      # Node version to be used.\n      #\n      # @examples: 18, '12.x', '10.15.1', '\u003e=10.15.0', 'lts/Hydrogen', '16-nightly', 'latest', 'node'\n      # @default: 24\n      #\n      node-version: 24\n\n      #\n      # Node architecture to be used.\n      #\n      # @examples: x86, x64\n      # @default: '', use system architecture by default\n      #\n      node-arch: ''\n\n      #\n      # Whether to install the latest Chrome version.\n      #\n      # @default: false\n      #\n      setup-chrome: false\n```\n\n### [dsi-hug/actions/.github/workflows/action.yml](./.github/workflows/action.yml)\n```yaml\njobs.\u003cjob_id\u003e:\n  uses: dsi-hug/actions/.github/workflows/action.yml@v4\n  with:\n    #\n    # The working directory of where to run the commands.\n    #\n    # @default: '.'\n    #\n    working-directory: '.'\n\n    #\n    # Type(s) of machine to run the job on.\n    #\n    # @see: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#choosing-github-hosted-runners\n    # @default: '[\"ubuntu-latest\"]'\n    #\n    runs-on: '[\"ubuntu-latest\"]'\n\n    #\n    # Node version(s) to be used.\n    #\n    # @examples: '[18, 20]', '[12.x]', '[10.15.1]', '[\u003e=10.15.0]', '[lts/Hydrogen]', '[16-nightly]', '[latest]', '[node]'\n    # @default: '[24]'\n    #\n    node-versions: '[24]'\n\n    #\n    # Node architecture to be used.\n    #\n    # @examples: x86, x64\n    # @default: '', use system architecture by default\n    #\n    node-arch: ''\n\n    #\n    # Whether to install the latest Chrome version.\n    #\n    # @default: false\n    #\n    setup-chrome: false\n\n    #\n    # Whether to run the command `npm run lint`.\n    #\n    # @default: false\n    #\n    lint: false\n\n    #\n    # Whether to run the command `npm run test:ci`.\n    #\n    # @default: false\n    #\n    test: false\n\n    #\n    # Whether to run the command `npm run build`.\n    #\n    # @default: false\n    #\n    build: false\n\n    #\n    # Whether to run the command `npm run release`.\n    # If required, tokens such as NPM_TOKEN and GH_TOKEN can be passed as secrets.\n    #\n    # @default: false\n    #\n    release: false\n\n    #\n    # Whether to run the command `npm run release:dry-run`.\n    # If required, tokens such as NPM_TOKEN and GH_TOKEN can be passed as secrets.\n    #\n    # @default: false\n    #\n    dry-run: false\n```\n\n## Examples\n1. Setup everything on a project and runs e2e tests.\n\n   ```yaml\n   jobs:\n     ci_e2e:\n       runs-on: ubuntu-latest\n       steps:\n         - name: Setup\n           uses: dsi-hug/actions/setup@v4\n           with:\n             - setup-chrome: true\n         - name: Run e2e tests\n           run: ...\n   ```\n\n2. Runs `lint` and `test` jobs on a desired project, with specific `platforms` and `node versions`.\n\n   ```yaml\n   jobs:\n     ci_tests:\n       uses: dsi-hug/actions/.github/workflows/action.yml@v4\n       with:\n         working-directory: projects/package-a\n         runs-on: '[\"ubuntu-latest\", \"macos-latest\", \"windows-latest\"]'\n         node-versions: '[22, 24]'\n         lint: true\n         test: true\n   ```\n\n3. Runs `lint`, `test`, `build` and `release` jobs on a desired project.\n\n   ```yaml\n   jobs:\n     ci_release:\n       uses: dsi-hug/actions/.github/workflows/action.yml@v4\n       secrets:\n         GIT_USER_NAME: 'dsi-hug-bot'\n         GIT_USER_EMAIL: 'dsi-hug-bot@users.noreply.github.com'\n         GH_TOKEN: ${{ secrets.YOUR_GITHUB_TOKEN }}\n         NPM_TOKEN: ${{ secrets.YOUR_NPM_TOKEN }}\n       with:\n         working-directory: projects/package-a\n         lint: true\n         test: true\n         build: true\n         release: true\n   ```\n\n## Credits\n\nCopyright (C) 2024 [HUG - Hôpitaux Universitaires Genève][dsi-hug]\n\n[![love@hug](https://img.shields.io/badge/@hug-%E2%9D%A4%EF%B8%8Flove-magenta)][dsi-hug]\n\n\n\n[dsi-hug]: https://github.com/dsi-hug\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsi-hug%2Factions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsi-hug%2Factions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsi-hug%2Factions/lists"}