{"id":45816355,"url":"https://github.com/init4tech/actions","last_synced_at":"2026-02-26T18:56:22.001Z","repository":{"id":237341492,"uuid":"790825431","full_name":"init4tech/actions","owner":"init4tech","description":"reuseable github actions workflows","archived":false,"fork":false,"pushed_at":"2026-01-27T20:40:55.000Z","size":196,"stargazers_count":11,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-28T07:40:23.552Z","etag":null,"topics":["devops","github-actions"],"latest_commit_sha":null,"homepage":"https://init4tech.github.io/actions/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/init4tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-23T15:44:43.000Z","updated_at":"2026-01-01T20:44:19.000Z","dependencies_parsed_at":"2024-05-01T00:32:05.743Z","dependency_job_id":"0bb6b314-6eec-411a-a75f-275ed44338a5","html_url":"https://github.com/init4tech/actions","commit_stats":null,"previous_names":["init4tech/actions"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/init4tech/actions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/init4tech%2Factions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/init4tech%2Factions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/init4tech%2Factions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/init4tech%2Factions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/init4tech","download_url":"https://codeload.github.com/init4tech/actions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/init4tech%2Factions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29867961,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T18:42:30.764Z","status":"ssl_error","status_checked_at":"2026-02-26T18:41:47.936Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["devops","github-actions"],"created_at":"2026-02-26T18:56:21.205Z","updated_at":"2026-02-26T18:56:21.993Z","avatar_url":"https://github.com/init4tech.png","language":null,"readme":"# Init4 Github Actions README\n\n## Repo Overview\n\n```bash\n| .github/\n| | .workflows/ # the directory which holds all workflow files\n| docs/\n| | workflow-docs/ # each workflow must have its own documentation in here\n| examples/ # each workflow must contain a fully complete example of usage here\n\n```\n\n## Init4 Github Actions Developer Getting Started Guide\n\nThis repository gives developers standard and secure building blocks to bootstrap CI in their repositories quickly and with minimal action configuration.\n\n### Quickstart:\n\nSimply download the quickstart workflow that matches your project type into the `.github/workflows/` directory in your repository:\n\nFor a rust binary:\n\n```\n$ curl -o .github/workflows/rust-bin.yml https://raw.githubusercontent.com/init4tech/actions/refs/heads/main/quickstart/rust-bin.yml\n```\n\nFor a rust library:\n\n```\n$ curl -o .github/workflows/rust-lib.yml https://raw.githubusercontent.com/init4tech/actions/refs/heads/main/quickstart/rust-lib.yml\n```\n\nFor a solidity project:\n\n```\n$ curl -o .github/workflows/solidity.yml https://raw.githubusercontent.com/init4tech/actions/refs/heads/main/quickstart/solidity.yml\n```\n\n### Workflows Overview\n\nIn Github Actions everything is built around workflows. When you configure a `workflow.yml` file in your repo you normally need to have many steps and need to know all the different CI actions you want. Annoyingly, this has to be done every time you set up a repo, and commonly results in lots of copy and pasting code all around. While manageable, it creates a lot of what I call \"complexity creep\" where CI steps get added and shared around without much intent. This creates CI bloat and can be a big time waster.\n\nTo fix this issue here at Init4 we can leverage the shared workflows contained in this repository, and creating your new repository with a robust CI workflow with as few as 10 lines of yaml. Each of the supplied workflows are designed to be as lightweight as possible without sacrificing baseline security. Workflows also have optional parameters that may be provided to give individual repositories further ability to configure the steps they need with simple booleans. Each workflow must also contain a `docs/\u003cworkflow_name\u003e.md` file with all optional parameters documented.\n\n### Repo Setup Steps\n\n1. Create your new repository and add any code you have to get it structured how you'd like.\n2. Create the directories `.github/workflows` at the root of your repository\n3. Add a CODEOWNERS file at `.github/CODEOWNERS`\n4. Create your CI workflow using one of our `*-base.yml` workflows to start\n\n   `solidity-base.yml` example (see `examples` folder for others)\n\n   ```yml\n   name: CI\n   # executes automatically on pull requests and pushes to main\n   on:\n     pull_request:\n     push:\n       branches:\n         - main\n     workflow_dispatch:\n\n   # the only configuration needed for the solidity-base workflow\n   jobs:\n     solidity-base:\n       uses: init4tech/actions/.github/workflows/solidity-base.yml@main\n   ```\n\n5. You now have a fully initialized repository, go code!\n\n## Modifying an existing workflow\n\n### Adding an optional external dependency\n\n1. Find the workflow to modify in the directory `.github/workflows/`\n2. Add a new `input:` parameter of type `boolean` to the workflow with the default set to `false`\n3. Add a new step and include an `if:` block to check your new input parameter and optionally install your dependency\n\n   - for an example, see the \"Optional Foundry install Step\" below:\n\n   ```yml\n         steps:\n       - name: Checkout repository\n         uses: actions/checkout@v3\n       - name: Install Rust toolchain\n         uses: dtolnay/rust-toolchain@stable\n       - uses: Swatinem/rust-cache@v2\n       - name: Optional Foundry Install\n         if: ${{ github.event.inputs.install-foundry == 'true' }}\n         uses: foundry-rs/foundry-toolchain@v1\n         with:\n           version: nightly\n       - name: Run tests\n         run: |\n           cargo test --all-features --workspace\n   ```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finit4tech%2Factions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finit4tech%2Factions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finit4tech%2Factions/lists"}