{"id":21591975,"url":"https://github.com/teakowa/setup-serverless","last_synced_at":"2025-04-10T22:52:53.074Z","repository":{"id":37013377,"uuid":"300235852","full_name":"Teakowa/setup-serverless","owner":"Teakowa","description":"⚡:octocat: A Github Action for deploying with the Serverless Framework (without Node)","archived":false,"fork":false,"pushed_at":"2025-03-13T16:05:50.000Z","size":6493,"stargazers_count":8,"open_issues_count":19,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T22:52:15.091Z","etag":null,"topics":["continuous-integration","github-actions","serverless","setup-serverless"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Teakowa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-1.x.md","contributing":null,"funding":null,"license":"LICENSE-ANTI996","code_of_conduct":null,"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":"2020-10-01T10:17:26.000Z","updated_at":"2024-11-16T13:30:39.000Z","dependencies_parsed_at":"2024-02-04T09:24:19.445Z","dependency_job_id":"17dad349-a0c4-412c-8bd3-ed252b549be4","html_url":"https://github.com/Teakowa/setup-serverless","commit_stats":{"total_commits":688,"total_committers":7,"mean_commits":98.28571428571429,"dds":0.311046511627907,"last_synced_commit":"389bd56b36d296ba04fe15473d07bfec2d5e73ca"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":"actions/typescript-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teakowa%2Fsetup-serverless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teakowa%2Fsetup-serverless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teakowa%2Fsetup-serverless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teakowa%2Fsetup-serverless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Teakowa","download_url":"https://codeload.github.com/Teakowa/setup-serverless/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248312170,"owners_count":21082638,"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":["continuous-integration","github-actions","serverless","setup-serverless"],"created_at":"2024-11-24T16:35:19.289Z","updated_at":"2025-04-10T22:52:53.053Z","avatar_url":"https://github.com/Teakowa.png","language":"TypeScript","readme":"# setup-serverless\n\n[![Continuous Integration](https://github.com/Teakowa/setup-serverless/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/Teakowa/setup-serverless/actions/workflows/continuous-integration.yml)\n![Setup Serverless](https://github.com/Teakowa/setup-serverless/workflows/Setup%20Serverless/badge.svg)\n[![all-contributors](https://img.shields.io/github/all-contributors/teakowa/setup-serverless/main?style=flat-square)](#contributors-)\n[![LICENSE](https://img.shields.io/badge/License-Apache--2.0-green.svg?style=flat-square)](#LICENSE)\n[![LICENSE](https://img.shields.io/badge/License-Anti%20996-blue.svg?style=flat-square)](https://github.com/996icu/996.ICU/blob/master/LICENSE)\n[![996.icu](https://img.shields.io/badge/Link-996.icu-red.svg?style=flat-square)](https://996.icu)\n\nThis action provides the following functionality for GitHub Actions users:\n\n- Easily install Serverless without Node.js or npm.\n- The action can also cache the distribution of the required standalone Serverless binary and add it to the system PATH.\n\nOnce you've utilized the action, other steps in the same job can run various Serverless commands using [GitHub Actions run syntax]((https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstepsrun)). This enables most Serverless commands to function similarly to how they do on your local command line.\n\n## Usage\n\nThis action can be run on `ubuntu-latest` and `macos-latest` GitHub Actions runners.\n\nThe default configuration installs the latest version of Serverless CLI\n\n**Basic:**\n\n```yaml\nsteps:\n  - uses: Teakowa/setup-serverless@v3\n    with:\n      serverless_version: 3.9.0\n      provider: aws\n    env:\n      AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}\n      AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}\n\n  - run: sls deploy\n```\n\nThe `serverless_version` input is optional. If not supplied, the serverless version from the latest release will be used.\n\nThe action will first check the local cache for a semver match. If unable to find a specific version in the cache, the action will attempt to download a version of Serverless. It will pull `latest` versions from serverless-versions releases.\n\n### Supported version syntax\n\nThe `serverless_version` input not yet support the Semantic Versioning Specification, We have plans to add this support, and welcome PR.\n\nExamples:\n\n- Specific versions: `2.71.0`, `3.9.0`\n- Latest release: `latest`\n\n`latest` always install to the [latest release version](https://github.com/serverless/serverless/releases).\n\n## Support Providers\n\n- [AWS](#aws)\n- [Azure](#azure)\n- [Tencent](#tencent-cloud)\n- knative\n- [Alibaba Cloud](#aliyun)\n- [cloudflare workers](#cloudflare-workers)\n- fn\n- kubeless\n- openwhisk\n\nSome providers need to be configured with credentials files, and this process will be performed by the `provider` input, which will automatically generate the corresponding credentials file when the `provider` contains these providers.\n\n### AWS\n\nCredentials for AWS can be configured.\n\n```yaml\nsteps:\n- uses: Teakowa/setup-serverless@v3\n  with:\n    provider: aws\n  env:\n    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}\n    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}\n\n- run: sls deploy\n```\n\n### Azure\n\nCredentials for Azure can be configured.\n\n```yaml\nsteps:\n- uses: Teakowa/setup-serverless@v3\n  with:\n    provider: azure\n  env:\n    AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}\n    AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID}}\n    AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID}}\n    AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET}}\n\n- run: sls deploy\n```\n\n### Tencent Cloud\n\nCredentials for Tencent Cloud can be configured.\n\n```yaml\nsteps:\n- uses: Teakowa/setup-serverless@v3\n  with:\n    provider: tencent\n  env:\n    TENCENT_APPID: ${{ secrets.TENCENT_APP_ID }}\n    TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}\n    TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY}}\n\n- run: sls deploy\n```\n\n\u003e **Note**\n\u003e If you need to use Tencent Cloud in China, you need to set the environment variable `SERVERLESS_PLATFORM_VENDOR` to tencent.\n\u003e\n\u003e You don't need `TENCENT_TOKEN`, because it is not currently supported.\n\n```yaml\nsteps:\n- uses: Teakowa/setup-serverless@v3\n  with:\n    provider: tencent\n  env:\n    TENCENT_APPID: ${{ secrets.TENCENT_APP_ID }}\n    TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}\n    TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY}}\n    SERVERLESS_PLATFORM_VENDOR: tencent # Must be set here to use in China\n\n- run: sls deploy\n```\n\n### Aliyun\n\nCredentials for Aliyun can be configured.\n\n```yaml\nsteps:\n- uses: Teakowa/setup-serverless@v3\n  with:\n    provider: aliyun\n  env:\n    ALICLOUD_ACCOUNT_ID: ${{ secrets.ALICLOUD_ACCOUNT_ID }}\n    ALICLOUD_ACCESS_KEY: ${{ secrets.ALICLOUD_ACCESS_KEY }}\n    ALICLOUD_SECRET_KEY: ${{ secrets.ALICLOUD_SECRET_KEY}}\n\n- run: sls deploy\n```\n\n### Cloudflare Workers\n\nCredentials for Cloudflare Workers can be configured.\n\n```yaml\nsteps:\n- uses: Teakowa/setup-serverless@v3\n  with:\n    provider: cloudflare-workers\n  env:\n    CLOUDFLARE_AUTH_KEY: ${{ secrets.CLOUDFLARE_AUTH_KEY }}\n    CLOUDFLARE_AUTH_EMAIL: ${{ secrets.CLOUDFLARE_AUTH_EMAIL }}\n\n- name: Deploy\n  run: |\n    sls plugin install -n serverless-cloudflare-workers\n    sls deploy\n  env:\n    CLOUDFLARE_AUTH_KEY: ${{ secrets.CLOUDFLARE_AUTH_KEY }}\n    CLOUDFLARE_AUTH_EMAIL: ${{ secrets.CLOUDFLARE_AUTH_EMAIL }}\n    CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}\n    CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}\n    CLOUDFLARE_WORKER_NAME: ${{ secrets.CLOUDFLARE_WORKER_NAME }}\n```\n\n## Inputs\n\nThe action supports the following inputs:\n\n- `serverless_version`: (optional) The version of Serverless CLI to install.\n- `provider`: (**required**) The infrastructure provider of serverless framework. All characters must be lowercase.\n\n## Versioning\n\n- Use the `v3` tag as `setup-serverless` version. It is a rolling tag and is synced with the latest minor and patch releases. With `v3` you automatically get the bug fixes, security patches, new features and support for latest `setup-serverless` releases.\n- Semantic release versions can also be used. It is recommended to [use dependabot](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot) with semantic versioning to keep the actions in your workflows up to date.\n\n## Contributing\n\nContributions, issues and feature requests are welcome!\nFeel free to check [issues page](https://github.com/Teakowa/setup-serverless/issues).\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://teakowa.me/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/27560638?v=4?s=100\" width=\"100px;\" alt=\"ƬΣΛKӨЩΛ\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eƬΣΛKӨЩΛ\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Teakowa/setup-serverless/commits?author=Teakowa\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/Teakowa/setup-serverless/commits?author=Teakowa\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#design-Teakowa\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"#projectManagement-Teakowa\" title=\"Project Management\"\u003e📆\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctfoot\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" size=\"13px\" colspan=\"7\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg\"\u003e\n          \u003ca href=\"https://all-contributors.js.org/docs/en/bot/usage\"\u003eAdd your contributions\u003c/a\u003e\n        \u003c/img\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tfoot\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n## License\n\nThe code in this repository, unless otherwise noted, is under the terms of both the [Anti 996](./LICENSE-ANTI996) License and the [Apache License (Version 2.0)](./LICENSE-APACHE).\n\n\n\u003ca href=\"https://trackgit.com\"\u003e\n\u003cimg src=\"https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/ldd800yy365z6w5gbsql\" alt=\"trackgit-views\" /\u003e\n\u003c/a\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteakowa%2Fsetup-serverless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteakowa%2Fsetup-serverless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteakowa%2Fsetup-serverless/lists"}