{"id":46775246,"url":"https://github.com/aws4embeddedlinux/aws4embeddedlinux-ci-examples","last_synced_at":"2026-03-09T23:42:53.207Z","repository":{"id":209010360,"uuid":"720084258","full_name":"aws4embeddedlinux/aws4embeddedlinux-ci-examples","owner":"aws4embeddedlinux","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-22T08:05:38.000Z","size":321,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-22T23:01:33.592Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws4embeddedlinux.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":"SECURITY.md","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":"2023-11-17T14:45:43.000Z","updated_at":"2026-01-22T08:05:35.000Z","dependencies_parsed_at":"2025-04-03T08:22:24.327Z","dependency_job_id":"044f7134-afc1-4ed9-b57e-d88be7d3c881","html_url":"https://github.com/aws4embeddedlinux/aws4embeddedlinux-ci-examples","commit_stats":null,"previous_names":["aws4embeddedlinux/aws4embeddedlinux-ci-examples"],"tags_count":2,"template":false,"template_full_name":"amazon-archives/__template_MIT-0","purl":"pkg:github/aws4embeddedlinux/aws4embeddedlinux-ci-examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Faws4embeddedlinux-ci-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Faws4embeddedlinux-ci-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Faws4embeddedlinux-ci-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Faws4embeddedlinux-ci-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws4embeddedlinux","download_url":"https://codeload.github.com/aws4embeddedlinux/aws4embeddedlinux-ci-examples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Faws4embeddedlinux-ci-examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30316775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T20:05:46.299Z","status":"ssl_error","status_checked_at":"2026-03-09T19:57:04.425Z","response_time":61,"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":[],"created_at":"2026-03-09T23:42:52.894Z","updated_at":"2026-03-09T23:42:53.133Z","avatar_url":"https://github.com/aws4embeddedlinux.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aws4embeddedlinux-ci-examples\n\nThis repository shows ways to use the [aws4embeddedlinux-ci](https://github.com/aws4embeddedlinux/aws4embeddedlinux-ci.git) library.\n\nIn order to use these examples, you must set up the [CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html), including\ninstalling the CDK tool and bootstrapping the account you wish to deploy to. Additionally, you must have [Node](https://nodejs.org/en/) installed.\n\n\u003e [!NOTE]\n\u003e This library is tested against Node Versions 22. If these version is not available for your system, we recommend using [NVM](https://github.com/nvm-sh/nvm) to install a compatible version.\n\n---\n\n## Setup\n\n### Setting environment variables\n\n```bash\nexport AWS_PROFILE=\"default\"\nexport AWS_DEFAULT_REGION=$(aws configure get region --profile ${AWS_PROFILE})\nexport AWS_DEFAULT_ACCOUNT=$(aws sts get-caller-identity --query Account --output text --profile ${AWS_PROFILE})\n\necho \"PROFILE : $AWS_PROFILE\"\necho \"ACCOUNT : $AWS_DEFAULT_ACCOUNT\"\necho \"REGION  : $AWS_DEFAULT_REGION\"\n```\n\n### Clone the project\n\n```bash\ngit clone https://github.com/aws4embeddedlinux/aws4embeddedlinux-ci-examples.git\ncd aws4embeddedlinux-ci-examples\n```\n\n### Bootstrap CDK\n\n\u003e [!NOTE]\n\u003e Only required once unless you upgrade your cdk version\n\n```bash\ncdk bootstrap aws://$AWS_DEFAULT_ACCOUNT/$AWS_DEFAULT_REGION\n```\n\n### Install packages and build the stack\n\nFirst move to the `cdk` folder:\n \n```bash\ncd cdk\n```\n\nThen you will need to install the CDK library including the `aws4embeddedlinux-ci` library either using `npm`:\n\n```bash\nnpm install \nnpm run build\n```\n\nof `yarn':\n\n```bash\nyarn install\nyarn build\n```\n\n\u003e If you are not familliar with Yarn, please refer to the [documentation](https://yarnpkg.com/getting-started).\n\n\u003e [!NOTE]\n\u003e\n\u003e While the CDK projects often do not require that you invoke the build command separately, doing so will ensure various assets in the library are packaged correctly.\n\n### Deploying the base image pipeline stack\n\nFirst, you will need to deploy the *base ubuntu* image pipeline (`aws4el-ci-pipeline-base-image`).\n\n```bash\ncdk deploy \\\n    aws4el-ci-pipeline-base-image \\\n    --require-approval never \\\n    --progress bar\n```\n\nThe created pipeline can be found in the AWS console under `Developer Tools \u003e Pipeline - CodePipeline \u003e Pipelines`. \n\nThe newly created pipeline `aws4el-ci-pipeline-base-image` should start automatically. If not, you can start it manually.\n\n\u003e _NOTE_:\n\u003e The `aws4el-ci-pipeline-base-image` will need to be successfully completed before other pipelines can work correctly. \n\n**_Expected build times: 5 minutes_**\n\nYou can check that the pipeline completed sucessfully when the following command returns an ***imageIds** entry :\n\n```bash\naws ecr list-images \\\n    --repository-name \"aws4el-ci-$AWS_DEFAULT_ACCOUNT-$AWS_DEFAULT_REGION-repo\" \\\n    --query \"imageIds[?imageTag=='aws4el-ci-pipeline-base-image']\"\n```\n\nOnce the pipeline completes and the image is available in the ECR repository, the other `EmbeddedLinuxPipeline` stacks can be created and executed.\n\n### Deploying the project pipeline stack\n\nTo deploy a specific pipeline type, you can use the following CDK deploy command:\n\n```bash\ncdk deploy \u003cpipeline-id\u003e --require-approval never\n```\n\nwhere **\\\u003cpipeline-id\\\u003e** can be one or more of the following: \n\n| Name                | Pipeline stack id             |\n|---------------------|-------------------------------|\n| Poky                | `aws4el-ci-pipeline-poky`     |\n| Poky Ami            | `aws4el-ci-pipeline-poky-ami` |\n| Qemu Embedded Linux | `aws4el-ci-pipeline-qemu`     |\n| Kas                 | `aws4el-ci-pipeline-kas`      |\n| Renesas             | `aws4el-ci-pipeline-renesas`  |\n| NXP-IMX             | `aws4el-ci-pipeline-nxp-imx`  |\n| Custom              | `aws4el-ci-pipeline-custom`   |\n\nAgain, the created pipeline can be found in the AWS console under `Developer Tools \u003e Pipeline - CodePipeline \u003e Pipelines`. \n\n\u003e ### **NXP-IMX**\n\u003e \n\u003e The deployed pipeline for **NXP-IMX** will not complete as you should first accept the EULA and update the `build.buildspec.yml` file accordingly. See the [IMX Yocto Users Guide](https://www.nxp.com/docs/en/user-guide/IMX_YOCTO_PROJECT_USERS_GUIDE.pdf) for more detail.\n\u003e\n\u003e The source files are available in a S3 bucket that you can get with the following command:\n\u003e\n\u003e ```sh\n\u003e aws cloudformation describe-stacks \\\n\u003e     --stack-name aws4el-ci-pipeline-nxp-imx \\\n\u003e     --output text \\\n\u003e     --query \"Stacks[0].Outputs[?OutputKey=='SourceURI'].OutputValue\"\n\u003e ```\n\u003e\n\u003e Once you have adjusted the content, you can update and upload the zip back to Amazon S3, and the pipeline will restart.\n\u003e\n\n\u003e ### **Renesas**\n\u003e \n\u003e The deployed pipeline for **Renesas** will complete. However, it won't include the Multimedia and Graphics library and related Linux drivers. See the [Renesas](https://github.com/adadouche/aws4embeddedlinux-ci/blob/dev-adadouche/README.md#renesas) section for more detail.\n\u003e The source files are available in a S3 bucket that you can get with the following command:\n\u003e\n\u003e ```sh\n\u003e   aws cloudformation describe-stacks \\\n\u003e     --stack-name aws4el-ci-pipeline-renesas \\\n\u003e     --output text \\\n\u003e     --query \"Stacks[0].Outputs[?OutputKey=='SourceURI'].OutputValue\"\n\u003e ```\n\u003e\n\u003e Once you have adjusted the content, you can update and upload the zip back to Amazon S3, and the pipeline will restart.\n\u003e\n\n\u003e ### **Custom Pipeline**\n\u003e \n\u003e When using the **Custom** pipeline, you will need to provide your own `build.buildspec.yml` file. \n\u003e\n\u003e To do so, you will provide a path in one of the `EmbeddedLinuxCodePipelineStack` props (`sourceCustomPath` property).\n\u003e This path repsent the folder where the `build.buildspec.yml` file is located.\n\u003e Make sure to use a full path instead of a relative path to avoid any issues.\n\u003e\n\u003e If the `build.buildspec.yml` file is not present in the provided folder path, the stack will fail to deploy.\n\u003e\n\u003e You can also provide any additional files need to execute your build in the same folder.\n\u003e\n\nTo deploy _all_ the example pipelines, you can use the CDK deploy command:\n\n```bash\ncdk deploy \\\n    aws4el-ci-pipelines \\\n    --require-approval never \\\n    --concurrency 3\n```\n\n\u003e [!NOTE] \n\u003e \n\u003e `aws4el-ci-pipelines`is an empty stack that depends on the other stacks, so that if you deploy it, it will deploy the others.\n\u003e\n\n### Cleanup\n\nThe `cdk destroy` command can be used to remove individual pipelines and their related resources. This can also be done in the CloudFormation Console Page.\n\n\u003e **Do not delete stacks while a CodePipeline is running, this can lead to unexpected failures!**\n\nTo remove all the resources associated with this application:\n\n```bash\ncdk destroy --all --force\n```\n\n## Security\n\nSee [SECURITY](SECURITY.md) for more information.\n\n## Contributing\n\nSee [CONTRIBUTING](CONTRIBUTING.md) for more information.\n\n## License\n\nThis library is licensed under the MIT-0 License. See the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws4embeddedlinux%2Faws4embeddedlinux-ci-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws4embeddedlinux%2Faws4embeddedlinux-ci-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws4embeddedlinux%2Faws4embeddedlinux-ci-examples/lists"}