{"id":5802434,"name":"stephenbawks/aws-lambda-layer","ecosystem":"actions","description":"Action will create/publish an AWS Lambda Layer from your GitHub Workflow. Does the undifferentiated heavy lifting for you.","homepage":"","licenses":"gpl-3.0","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/stephenbawks/aws-lambda-layer","keywords_array":["aws","lambda","layer"],"namespace":"stephenbawks","versions_count":9,"first_release_published_at":"2021-12-29T15:10:47.000Z","latest_release_published_at":"2022-12-03T16:27:11.000Z","latest_release_number":"v0.2.0","last_synced_at":"2026-03-28T04:03:26.746Z","created_at":"2023-01-04T13:46:27.083Z","updated_at":"2026-03-28T04:03:26.746Z","registry_url":"https://github.com/stephenbawks/aws-lambda-layer","install_command":null,"documentation_url":null,"metadata":{"name":"AWS Lambda Layer Builder","description":"Action will create/publish an AWS Lambda Layer from your GitHub Workflow. Does the undifferentiated heavy lifting for you.","branding":{"icon":"layers","color":"orange"},"inputs":{"layer-name":{"description":"Name for the Lambda Layer","required":true},"layer-directory":{"description":"Working directory in repository where requirements file exists","required":true},"runtime":{"description":"AWS Lambda Runtime","required":true},"bucketname":{"description":"AWS S3 Bucket Name where layer will be uploaded","required":true},"prefix-folder-path":{"description":"An optional prefix that will be used for a folder path inside the S3 bucket"},"principal":{"description":"An AWS Account ID to grant layer usage permissions to.","required":true},"organization-id":{"description":"An AWS Organization ID to grant layer usage permissions to. Principal must be \"*\" if this is set."},"compatible-runtimes":{"description":"A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions."}},"runs":{"using":"composite","steps":[{"name":"Install Python Requirements","shell":"bash","working-directory":"${{ inputs.layer-directory }}","run":"if [ \"${{ inputs.runtime }}\" = \"python\" ]; then\n  echo \"🚧 👷 Building Python Layer 🚀\"\n  mkdir -p python \u0026\u0026 pip3 install -r requirements.txt -t ./python\n  zip -r lambda_layer.zip ./python\nelif [ \"${{ inputs.runtime }}\" = \"node\" ]; then\n  echo \"🚧 👷 Building Node Layer 🚀\"\n  mkdir -p nodejs/node_modules  \u0026\u0026 cd nodejs\n  npm init -y\n  while read p; do\n      npm install --save \"$p\"\n  done \u003c ../requirements.txt\n  cd ..\n  zip -r lambda_layer.zip ./nodejs/node_modules\nelse\n  echo \"Something else was specified for runtime\"\nfi\n"},{"name":"Installing boto3","shell":"bash","run":"pip3 install boto3"},{"name":"Upload Zip and Create Layer","shell":"bash","id":"build-layer","working-directory":"${{ inputs.layer-directory }}","run":"DATE=$(date +\"%d_%m_%Y\")\nFOLDER_PATH=\"${{ inputs.prefix-folder-path }}\"\nFORMATTED_LAYER_NAME=\"${{ inputs.layer-name }}-${DATE}\"\nFORMATTED_ZIP=\"${FORMATTED_LAYER_NAME}-${RANDOM}.zip\"\naws s3 cp ./lambda_layer.zip s3://${{ inputs.bucketname }}/${{ inputs.prefix-folder-path }}/${FORMATTED_ZIP}\nRESPONSE=$(aws lambda publish-layer-version --layer-name ${FORMATTED_LAYER_NAME} \\\n--description \"${{ inputs.layer-name }} Layer\" \\\n--content S3Bucket=${{ inputs.bucketname }},S3Key=${{ inputs.prefix-folder-path }}/${FORMATTED_ZIP})\n\necho \"::set-output name=layer_version::$(echo $RESPONSE | jq -r '.Version')\"\necho \"::set-output name=layer_arn::$(echo $RESPONSE | jq -r '.LayerArn')\"\necho \"::set-output name=layer_name::${FORMATTED_LAYER_NAME}\"\n"},{"uses":"actions/upload-artifact@v3","with":{"name":"lambda-layer","path":"./${{ inputs.layer-directory }}/lambda_layer.zip","retention-days":5}},{"name":"Lambda Layer Permission","shell":"bash","run":"if [ \"${{ inputs.principal }}\" = \"*\" ] \u0026\u0026 [ ! -z \"${{ inputs.organization-id }}\" ]; then\n  aws lambda add-layer-version-permission --layer-name ${{ steps.build-layer.outputs.layer_name }} \\\n  --version-number ${{ steps.build-layer.outputs.layer_version }} \\\n  --principal ${{ inputs.principal }} \\\n  --organization-id ${{ inputs.organization-id }} \\\n  --statement-id \"GrantOrgAccess-${RANDOM}\" \\\n  --action lambda:GetLayerVersion\nelse\n  aws lambda add-layer-version-permission --layer-name ${{ steps.build-layer.outputs.layer_name }} \\\n  --version-number ${{ steps.build-layer.outputs.layer_version }} \\\n  --principal ${{ inputs.principal }} \\\n  --statement-id \"GrantAccountAccess-${RANDOM}\" \\\n  --action lambda:GetLayerVersion\nfi\n"}]},"default_branch":"main","path":null},"repo_metadata":{"uuid":"442507341","full_name":"stephenbawks/aws-lambda-layer","owner":"stephenbawks","description":"Action will create/publish an AWS Lambda Layer from your GitHub Workflow. Does the undifferentiated heavy lifting for you.","archived":false,"fork":false,"pushed_at":"2022-12-03T16:28:57.000Z","size":43,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2023-07-13T08:26:07.071Z","etag":null,"topics":["aws","lambda","layer"],"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/stephenbawks.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":null,"security":null,"support":null}},"created_at":"2021-12-28T15:36:51.000Z","updated_at":"2023-07-13T08:26:07.071Z","dependencies_parsed_at":"2023-01-04T12:27:03.540Z","dependency_job_id":null,"html_url":"https://github.com/stephenbawks/aws-lambda-layer","commit_stats":{"total_commits":54,"total_committers":2,"mean_commits":27.0,"dds":"0.12962962962962965","last_synced_commit":"03573e5a835b9f94c09e4e812c443ac3489cff29"},"previous_names":[],"tags_count":9,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephenbawks","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":145709600,"owners_count":6278964,"icon_url":"https://github.com/github.png","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"},"owner_record":{"login":"stephenbawks","name":"Stephen Bawks","uuid":"5246651","kind":"user","description":"","email":"","website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5246651?v=4","repositories_count":8,"last_synced_at":"2023-03-08T07:02:02.448Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/stephenbawks","created_at":"2022-11-18T00:09:35.388Z","updated_at":"2023-03-08T07:02:02.498Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephenbawks","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephenbawks/repositories"},"tags":[{"name":"v0.2.0","sha":"03573e5a835b9f94c09e4e812c443ac3489cff29","kind":"commit","published_at":"2022-12-03T16:27:11.000Z","download_url":"https://codeload.github.com/stephenbawks/aws-lambda-layer/tar.gz/v0.2.0","html_url":"https://github.com/stephenbawks/aws-lambda-layer/releases/tag/v0.2.0","dependencies_parsed_at":"2023-06-01T11:23:02.648Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.2.0/manifests"},{"name":"v.0.2.0","sha":"03573e5a835b9f94c09e4e812c443ac3489cff29","kind":"commit","published_at":"2022-12-03T16:27:11.000Z","download_url":"https://codeload.github.com/stephenbawks/aws-lambda-layer/tar.gz/v.0.2.0","html_url":"https://github.com/stephenbawks/aws-lambda-layer/releases/tag/v.0.2.0","dependencies_parsed_at":"2023-06-01T11:23:04.990Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v.0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v.0.2.0/manifests"},{"name":"v0.2.0-beta2","sha":"1fae50faea3237458e4c7530a923c101fdb94fb5","kind":"commit","published_at":"2022-01-07T20:02:38.000Z","download_url":"https://codeload.github.com/stephenbawks/aws-lambda-layer/tar.gz/v0.2.0-beta2","html_url":"https://github.com/stephenbawks/aws-lambda-layer/releases/tag/v0.2.0-beta2","dependencies_parsed_at":"2023-05-30T22:07:52.694Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.2.0-beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.2.0-beta2/manifests"},{"name":"v0.2.0-beta","sha":"d3744c56d49b0b78ba274b82da620b3aeb24c077","kind":"commit","published_at":"2022-01-07T19:43:17.000Z","download_url":"https://codeload.github.com/stephenbawks/aws-lambda-layer/tar.gz/v0.2.0-beta","html_url":"https://github.com/stephenbawks/aws-lambda-layer/releases/tag/v0.2.0-beta","dependencies_parsed_at":"2023-05-30T22:07:53.208Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.2.0-beta","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.2.0-beta/manifests"},{"name":"v0.1.0","sha":"fa863c40c2e800cef50aab52f27c3950a61c812f","kind":"commit","published_at":"2022-01-01T17:41:04.000Z","download_url":"https://codeload.github.com/stephenbawks/aws-lambda-layer/tar.gz/v0.1.0","html_url":"https://github.com/stephenbawks/aws-lambda-layer/releases/tag/v0.1.0","dependencies_parsed_at":"2023-05-30T22:07:54.103Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.1.0/manifests"},{"name":"v0.2.0-alpha","sha":"fa863c40c2e800cef50aab52f27c3950a61c812f","kind":"commit","published_at":"2022-01-01T17:41:04.000Z","download_url":"https://codeload.github.com/stephenbawks/aws-lambda-layer/tar.gz/v0.2.0-alpha","html_url":"https://github.com/stephenbawks/aws-lambda-layer/releases/tag/v0.2.0-alpha","dependencies_parsed_at":"2023-05-30T22:07:53.671Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.2.0-alpha","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.2.0-alpha/manifests"},{"name":"v0.0.19","sha":"d63444a5004e86014a6a51b132b4ae0359cea60d","kind":"commit","published_at":"2021-12-31T20:33:55.000Z","download_url":"https://codeload.github.com/stephenbawks/aws-lambda-layer/tar.gz/v0.0.19","html_url":"https://github.com/stephenbawks/aws-lambda-layer/releases/tag/v0.0.19","dependencies_parsed_at":"2023-05-30T22:07:54.592Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.0.19","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.0.19/manifests"},{"name":"v0.0.18","sha":"e9ffde0622e19adb8accd15a8891b760b38a66b4","kind":"commit","published_at":"2021-12-29T20:31:41.000Z","download_url":"https://codeload.github.com/stephenbawks/aws-lambda-layer/tar.gz/v0.0.18","html_url":"https://github.com/stephenbawks/aws-lambda-layer/releases/tag/v0.0.18","dependencies_parsed_at":"2023-05-30T22:07:54.828Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.0.18","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.0.18/manifests"},{"name":"v0.0.17","sha":"6a2dd24ea008d4bcaa009c1422db0cd759c20d2f","kind":"commit","published_at":"2021-12-29T15:10:47.000Z","download_url":"https://codeload.github.com/stephenbawks/aws-lambda-layer/tar.gz/v0.0.17","html_url":"https://github.com/stephenbawks/aws-lambda-layer/releases/tag/v0.0.17","dependencies_parsed_at":"2023-05-30T22:07:55.017Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.0.17","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephenbawks%2Faws-lambda-layer/tags/v0.0.17/manifests"}]},"repo_metadata_updated_at":"2023-07-14T09:13:54.590Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":42.858974907023466,"dependent_packages_count":0.0,"stargazers_count":49.38656863164194,"forks_count":37.2590091052879,"average":32.376138160988326},"purl":"pkg:githubactions/stephenbawks/aws-lambda-layer","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/actions/stephenbawks/aws-lambda-layer","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/actions/stephenbawks/aws-lambda-layer","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/actions/stephenbawks/aws-lambda-layer/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2023-08-09T09:09:07.030Z","issues_count":1,"pull_requests_count":2,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":56063.0,"issues_closed_count":0,"pull_requests_closed_count":2,"pull_request_authors_count":1,"issue_authors_count":1,"avg_comments_per_issue":0.0,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":1,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":47868.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/stephenbawks%2Faws-lambda-layer/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/stephenbawks%2Faws-lambda-layer/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/stephenbawks%2Faws-lambda-layer/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/stephenbawks%2Faws-lambda-layer/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/stephenbawks%2Faws-lambda-layer/codemeta","maintainers":[]}