Compare commits
308 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8da6f2ecd8 | |||
| c59b62dee0 | |||
| 5760418d4f | |||
| 97cad8dbc7 | |||
| 2c71fd3721 | |||
| b20b76eb79 | |||
| ef1224c284 | |||
| d36b72e889 | |||
| d644b9852c | |||
| c17ea6bad7 | |||
| 3b047441fd | |||
| e402d2478e | |||
| 2e8181996a | |||
| f631f1f2a9 | |||
| 25beec943d | |||
| 6c0603b492 | |||
| db98e7bafe | |||
| 9959a5d8cd | |||
| ebda693bc0 | |||
| d5de0a136a | |||
| f9cb2aceea | |||
| 95adc26526 | |||
| e9e00b0177 | |||
| 26b1c798c4 | |||
| 1611798954 | |||
| 916f29234a | |||
| 038c492e5d | |||
| 2cce108822 | |||
| cefd62c81b | |||
| 59b02379ec | |||
| 5adbc985bb | |||
| f3f093bce8 | |||
| ab930e94bf | |||
| c5e7bc70b5 | |||
| 14acff1f1e | |||
| 14547bfc79 | |||
| 90f8fd731d | |||
| 08c2049aed | |||
| b3f8b48094 | |||
| a921a9e19d | |||
| a88b31b693 | |||
| 2c1a53ec93 | |||
| 0c4ccab691 | |||
| b05136d6b3 | |||
| 4dae3bbf12 | |||
| a571f2981a | |||
| 32294ec235 | |||
| 93dbc9b111 | |||
| 778f6e55ec | |||
| 1098e119bf | |||
| c4f8fd37a9 | |||
| b247fc6998 | |||
| 5df85a656f | |||
| edab906081 | |||
| 04faecd243 | |||
| 1121235708 | |||
| cfbd40a9c2 | |||
| 33f788c27e | |||
| 443491da63 | |||
| 6a074bcdf6 | |||
| 3f9a0a4044 | |||
| 8c0ca1f934 | |||
| b38e80f939 | |||
| 8ca17cdb3e | |||
| d41b5571e7 | |||
| bb39041a60 | |||
| ff9e5d1209 | |||
| 66d8b02dfe | |||
| 4e1a218f3b | |||
| 019eff621a | |||
| 6999ba1689 | |||
| a50e787c3d | |||
| eab784e4cf | |||
| 54c9648f3b | |||
| 9f124372e3 | |||
| 6ff9ab42eb | |||
| decb3a996a | |||
| 64f653a809 | |||
| 0e2cd77dc8 | |||
| 2d3a2e57d3 | |||
| bfb45aec41 | |||
| ef7878c3e6 | |||
| b2e55d25f2 | |||
| cf9a85beec | |||
| 92d9a2c433 | |||
| aa9d3bc6cc | |||
| 44c50acb70 | |||
| 500534878c | |||
| 545a711d57 | |||
| 85739b01da | |||
| 33c4d0afcb | |||
| 6e6b7a3a65 | |||
| 07d00868c1 | |||
| 1e97b0eba7 | |||
| 1e1b67d2e3 | |||
| 90f04bcdca | |||
| 33e4b7e557 | |||
| d9b22d32d2 | |||
| cfb65e2931 | |||
| 6566b994c5 | |||
| b74ba94525 | |||
| 5aeeb19100 | |||
| 6802e0bb22 | |||
| f75012de65 | |||
| dfaa4e420b | |||
| e2510e2a62 | |||
| 17e1df2111 | |||
| f938476d14 | |||
| d7ac62140f | |||
| fecbb32bb8 | |||
| 5699eea8b2 | |||
| b4fa2522d2 | |||
| 8d7b3c7bb7 | |||
| fbdaed8a1c | |||
| 48d91f58fd | |||
| 93e3710ab0 | |||
| e3365944ac | |||
| b1cd56fafa | |||
| e24322bcc0 | |||
| 08ff79c7b9 | |||
| ca7b1e42d8 | |||
| 7828f6c354 | |||
| 12319ff7de | |||
| 545967cef7 | |||
| dacfd0a22a | |||
| 732e5a4fed | |||
| 6933b58bfe | |||
| 4fc839617b | |||
| 60765e8490 | |||
| c6ccc6f609 | |||
| 188a1b0995 | |||
| 01816c2943 | |||
| b54b703ab1 | |||
| 8e9dd416eb | |||
| 3ba9eeb432 | |||
| ac0f10b559 | |||
| 4c50c2463d | |||
| af51c4b131 | |||
| 7170aed588 | |||
| 5524770ebc | |||
| 556dbfef74 | |||
| 0e05d2e2d5 | |||
| d9ef0c9fa9 | |||
| 781ae15668 | |||
| e6a92cdf5e | |||
| 9d5fc9a9d5 | |||
| b2a9ff937c | |||
| d344ceca32 | |||
| cd6c492b58 | |||
| 1d9faa8666 | |||
| 8b99b795cd | |||
| a7d5e843be | |||
| 044885a132 | |||
| f5834be4a7 | |||
| 8086b89ce1 | |||
| eb30c1ee37 | |||
| 917a8740ae | |||
| 9ca8884216 | |||
| 760d91097a | |||
| 60a9e86952 | |||
| 1dc9bda71d | |||
| 55d2f670aa | |||
| c7007251e8 | |||
| acf5f6e3fc | |||
| 94759fc6c5 | |||
| e6715401a9 | |||
| a4513263ef | |||
| dc7a645261 | |||
| fae2392dd2 | |||
| e06cc27dea | |||
| e29f776785 | |||
| 4085d2783b | |||
| ccf96281e9 | |||
| 9ddf3f1e08 | |||
| bfe353443a | |||
| ebe6a9d913 | |||
| ee064c5e4b | |||
| 0ec52ad66b | |||
| 27c4cec0db | |||
| 96d4d9913c | |||
| e0507e673c | |||
| 948df6a3d0 | |||
| 8f334e85aa | |||
| fb3fd40c90 | |||
| 5a6d7fe48f | |||
| e0b4d1e49e | |||
| 96bdc687f4 | |||
| 125b38d041 | |||
| 613f51fa51 | |||
| 860fdf02bf | |||
| e11672e5a9 | |||
| 3c570179b7 | |||
| 02575c8e91 | |||
| 94b77c19d0 | |||
| 318a078faf | |||
| 2740936be4 | |||
| a98cc94869 | |||
| aa2ec78d14 | |||
| eeaa6d60cd | |||
| 84197f1cbe | |||
| a4013e698d | |||
| 930a2cac2b | |||
| 920aa0286c | |||
| 7ed78293f7 | |||
| abf7f258d1 | |||
| bd169be472 | |||
| 0ca3f2a990 | |||
| 9e8735b0e6 | |||
| 15e1039f3f | |||
| 7e9fc80858 | |||
| d84eed709f | |||
| 4aa38dfed2 | |||
| b79be1ea1a | |||
| be562a7239 | |||
| 9995e35e75 | |||
| c85b474fcc | |||
| cb6cee5157 | |||
| 97ae763335 | |||
| b4f1aae32f | |||
| 3dc05114be | |||
| ac240939ca | |||
| dabe11f6f7 | |||
| b0521d7270 | |||
| 0159b6df78 | |||
| e4f46dac76 | |||
| 7ce8ea570d | |||
| f1fa7ed328 | |||
| 3c3736f598 | |||
| 330ca7d1bd | |||
| 0170fa5239 | |||
| b4362decc9 | |||
| 2ffdd0654e | |||
| 4ad3f70666 | |||
| ef82cf1b1a | |||
| b7eff1ebe9 | |||
| 3d33354a89 | |||
| ef7fa950a5 | |||
| 87a8d83e30 | |||
| 9fd65b230c | |||
| 297af984ba | |||
| acf744fba2 | |||
| a6347ae487 | |||
| 95df65269a | |||
| e99fd3f99c | |||
| 74d3867049 | |||
| 54a75270fc | |||
| 0195d47eee | |||
| 5f92f1fdcc | |||
| 26cd848b53 | |||
| 861a79590c | |||
| 9d886e00f9 | |||
| b188e5bd5b | |||
| c36e34100d | |||
| 9171a83a7a | |||
| 90ace1f9e2 | |||
| 15d943af34 | |||
| b109c5bb93 | |||
| f7188c3581 | |||
| 05c6db96ec | |||
| 958d73b16f | |||
| de4411e097 | |||
| 0ac0954673 | |||
| bf6f0d9476 | |||
| 4828a683d0 | |||
| 249441a642 | |||
| 75ab82ca92 | |||
| ec3fe32d43 | |||
| c63b77dfb3 | |||
| 727a831173 | |||
| 15c78f8802 | |||
| 60749c6653 | |||
| 9a0a11423d | |||
| 74c1e87c6b | |||
| 9ea914b370 | |||
| 1bb7228652 | |||
| 3dd92068cf | |||
| a83abcc872 | |||
| 70c22e93a3 | |||
| e16f45a27f | |||
| 641db8990d | |||
| 6eb7d7ec62 | |||
| e4d7e16da8 | |||
| 7176a039ba | |||
| fc935ad052 | |||
| 6ea0e1fa16 | |||
| dd7519f49e | |||
| 427f63ab83 | |||
| f543db49db | |||
| 951dfd0da3 | |||
| 1c2ed214e0 | |||
| 4411c79d20 | |||
| 17d9115a99 | |||
| 99a3541086 | |||
| f30fb6cf24 | |||
| 4d60a5fb72 | |||
| 36ead1ae0d | |||
| 44de3f55de | |||
| 2697ad6a58 | |||
| 2287251421 | |||
| 5ce3567640 | |||
| e5854d803d | |||
| f1662044f7 | |||
| 1a5f94bc68 | |||
| 9342fc5f27 | |||
| d78d85f6c7 | |||
| 99de2a93da | |||
| d01030b5b8 | |||
| 9de067fdf0 |
@@ -0,0 +1,30 @@
|
||||
---
|
||||
name: Code Scanning onboarding
|
||||
about: Captures all the information and tasks required to onboard a 3rd party project into Code Scanning
|
||||
title: 'Code Scanning Partner: '
|
||||
labels: 'code scanning'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
:wave: Thanks for your interest in integrating with Code Scanning! To ensure a swift onboarding of your integration, please provide the following `Requested information` and complete the `Action items` below:
|
||||
|
||||
## Requested information
|
||||
- [ ] Name of your integration:
|
||||
- [ ] Name of your product / company:
|
||||
- [ ] Description of your integration:
|
||||
- [ ] Languages supported by your integration:
|
||||
- [ ] [For integrations leveraging GitHub Actions] PR for your proposed workflow:
|
||||
- [ ] URL to an SVG logo representing your integration / product / company:
|
||||
|
||||
## Action items
|
||||
- [ ] Apply to join the GitHub Technology Partner Program: [partner.github.com/apply](https://partner.github.com/apply?partnershipType=Technology+Partner)
|
||||
- [ ] Develop your integration, by _either_ [following this guide for GitHub Actions](https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/uploading-a-sarif-file-to-github#uploading-a-code-scanning-analysis-with-github-actions), or [integrating directly with the REST API](https://docs.github.com/en/rest/reference/code-scanning#upload-a-sarif-file)
|
||||
- [ ] [For integrations leveraging GitHub Actions] Submit a PR in this repo for your proposed starter workflow. The workflow should:
|
||||
- [ ] Live in [the `code-scanning` directory](https://github.com/actions/starter-workflows/tree/main/code-scanning)
|
||||
- [ ] Have a filename that is in accordance with your product / service / business name, in [_kebab-cased_ format](https://en.wikipedia.org/wiki/Kebab_case), with a `.yml` file extension
|
||||
- [ ] Include comments describing the workflow’s behavior ([example](https://github.com/actions/starter-workflows/blob/c59b62dee0eae1f9f368b7011cf05c2fc42cf084/code-scanning/codeql.yml#L1-L11))
|
||||
- [ ] Trigger on push, pull_request, and schedule events ([example](https://github.com/actions/starter-workflows/blob/c59b62dee0eae1f9f368b7011cf05c2fc42cf084/code-scanning/codeql.yml#L14-L21))
|
||||
- [ ] Reference your GitHub Action using a 40-char commit SHA (e.g. `uses: github/codeql-action@a3a8231e64d3db0e7da0f3b56b9521dcccdfe412`)
|
||||
- [ ] Update the `Requested information` above, ensuring all details are correct
|
||||
- [ ] When ready, please ping `@actions/advanced-security-code-scanning` in a comment below, for a review :bow:
|
||||
@@ -1,7 +1,14 @@
|
||||
Thank you for sending in this pull request. Please make sure you take a look at the [contributing file](https://github.com/actions/starter-workflows/blob/master/CONTRIBUTING.md). Here's a few things for you to consider in this pull request:
|
||||
This repository contains configuration for what users see when they click on the `Actions` tab and the setup page for Code Scanning.
|
||||
|
||||
- [ ] Include a good description of the workflow.
|
||||
- [ ] Links to the language or tool will be nice (unless its really obvious)
|
||||
It is not:
|
||||
* A playground to try out scripts
|
||||
* A place for you to create a workflow for your repository
|
||||
|
||||
---
|
||||
|
||||
**Please note that at this time we are only accepting new starter workflows for Code Scanning. Updates to existing starter workflows are fine.**
|
||||
|
||||
---
|
||||
|
||||
In the workflow and properties files:
|
||||
|
||||
@@ -12,20 +19,19 @@ In the workflow and properties files:
|
||||
- [ ] Use sentence case for the names of workflows and steps, for example "Run tests".
|
||||
- [ ] The name of CI workflows should only be the name of the language or platform: for example "Go" (not "Go CI" or "Go Build")
|
||||
- [ ] Include comments in the workflow for any parts that are not obvious or could use clarification.
|
||||
- [ ] CI workflows should run on `push` to `branches: [ master ]` and `pull_request` to `branches: [ master ]`.
|
||||
|
||||
Packaging workflows should run on `release` with `types: [ created ]`.
|
||||
- [ ] CI workflows should run on `push` to `branches: [ $default-branch ]` and `pull_request` to `branches: [ $default-branch ]`.
|
||||
- [ ] Packaging workflows should run on `release` with `types: [ created ]`.
|
||||
- [ ] Code Scanning workflows should run on `push` to `branches: [ $default-branch, $protected-branches ]` and `pull_request` to `branches: [ $default-branch ]`. We also recommend a `schedule` trigger of `cron: $cron-weekly`.
|
||||
|
||||
Some general notes:
|
||||
|
||||
- [ ] This workflow must only use actions that are produced by GitHub, [in the `actions` organization](https://github.com/actions), **or**
|
||||
|
||||
This workflow must only use actions that are produced by the language or ecosystem that the workflow supports. These actions must be [published to the GitHub Marketplace](https://github.com/marketplace?type=actions). Workflows using these actions must reference the action using the full 40 character hash of the action's commit instead of a tag. Additionally, workflows must include the following comment at the top of the workflow file:
|
||||
- [ ] This workflow must only use actions that are produced by the language or ecosystem that the workflow supports. These actions must be [published to the GitHub Marketplace](https://github.com/marketplace?type=actions). We recommend that these actions be referenced using the full 40 character hash of the action's commit instead of a tag. Additionally, workflows must include the following comment at the top of the workflow file:
|
||||
```
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
```
|
||||
- [ ] This workflow must not send data to any 3rd party service except for the purposes of installing dependencies.
|
||||
- [ ] This workflow must not use a paid service or product.
|
||||
- [ ] Automation and CI workflows should not send data to any 3rd party service except for the purposes of installing dependencies.
|
||||
- [ ] Automation and CI workflows cannot be dependent on a paid service or product.
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
name: Close as a feature
|
||||
on:
|
||||
issues:
|
||||
types: [labeled]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Close Issue
|
||||
uses: peter-evans/close-issue@v1
|
||||
if: contains(github.event.issue.labels.*.name, 'feature')
|
||||
with:
|
||||
comment: |
|
||||
Thank you 🙇 for this request. This request has been classified as a feature by the maintainers.
|
||||
|
||||
We take all the requests for features seriously and have passed this on to the internal teams for their consideration.
|
||||
|
||||
Because any feature requires further maintenance and support in the long term by this team, we would like to exercise caution into adding new features. If this feature is something that can be implemented independently, please consider forking this repository and adding the feature.
|
||||
@@ -0,0 +1,19 @@
|
||||
name: Close as a support issue
|
||||
on:
|
||||
issues:
|
||||
types: [labeled]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Close Issue
|
||||
uses: peter-evans/close-issue@v1
|
||||
if: contains(github.event.issue.labels.*.name, 'support')
|
||||
with:
|
||||
comment: |
|
||||
Sorry, but we'd like to keep issues related to code in this repository. Thank you 🙇
|
||||
|
||||
If you have questions about writing workflows or action files, then please [visit the GitHub Community Forum's Actions Board](https://github.community/t5/GitHub-Actions/bd-p/actions)
|
||||
|
||||
If you are having an issue or question about GitHub Actions then please [contact customer support](https://help.github.com/en/articles/about-github-actions#contacting-support)
|
||||
@@ -0,0 +1,20 @@
|
||||
name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "21 4 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v3
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'This issue has become stale and will be closed automatically within a period of time. Sorry about that.'
|
||||
stale-pr-message: 'This pull request has become stale and will be closed automatically within a period of time. Sorry about that.'
|
||||
stale-issue-label: 'no-issue-activity'
|
||||
stale-pr-label: 'no-pr-activity'
|
||||
days-before-stale: 90
|
||||
@@ -1,7 +1,9 @@
|
||||
name: Sync workflows for GHES
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
sync:
|
||||
@@ -22,5 +24,9 @@ jobs:
|
||||
working-directory: ./script/sync-ghes
|
||||
- run: |
|
||||
git add -A
|
||||
git commit -m "Updating GHES workflows"
|
||||
- run: git push
|
||||
if [ -z "$(git status --porcelain)" ]; then
|
||||
echo "No changes to commit"
|
||||
else
|
||||
git commit -m "Updating GHES workflows"
|
||||
fi
|
||||
- run: git push
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
name: Validate Data
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
validate-data:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: "12"
|
||||
|
||||
- name: Validate workflows
|
||||
run: |
|
||||
npm ci
|
||||
npx ts-node-script ./index.ts
|
||||
working-directory: ./script/validate-data
|
||||
@@ -0,0 +1,3 @@
|
||||
* @actions/actions-experience
|
||||
|
||||
/code-scanning/ @actions/advanced-security-code-scanning
|
||||
@@ -4,17 +4,21 @@
|
||||
|
||||
Hi there 👋 We are excited that you want to contribute a new workflow to this repo. By doing this you are helping people get up and running with GitHub Actions and that's cool 😎.
|
||||
|
||||
Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](https://github.com/actions/starter-workflows/blob/master/LICENSE).
|
||||
Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](https://github.com/actions/starter-workflows/blob/main/LICENSE).
|
||||
|
||||
Please note that this project is released with a [Contributor Code of Conduct](
|
||||
https://github.com/actions/.github/blob/master/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
|
||||
https://github.com/actions/.github/blob/main/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
|
||||
|
||||
**At this time we are only accepting new starter workflows for Code Scanning**
|
||||
|
||||
### Previous guidelines for new starter workflows.
|
||||
|
||||
Before merging a new workflow, the following requirements need to be met:
|
||||
|
||||
- Should be as simple as is needed for the service.
|
||||
- There are many programming languages and tools out there. Right now we don't have a page that allows for a really large number of workflows, so we do have to be a little choosy about what we accept. Less popular tools or languages might not be accepted.
|
||||
- Should not send data to any 3rd party service except for the purposes of installing dependencies.
|
||||
- Cannot use an Action that isn't in the `actions` organization.
|
||||
- Cannot be to a paid service or product.
|
||||
- Automation and CI workflows should not send data to any 3rd party service except for the purposes of installing dependencies.
|
||||
- Automation and CI workflows cannot be dependent on a paid service or product.
|
||||
- We recommend that Actions outside of the `actions` organization be pinned to a specific SHA.
|
||||
|
||||
Thank you
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 GitHub
|
||||
Copyright (c) 2020 GitHub
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@@ -18,4 +18,5 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
SOFTWARE. THIS LICENSE DOES NOT GRANT YOU RIGHTS TO USE ANY CONTRIBUTORS'
|
||||
NAME, LOGO, OR TRADEMARKS.
|
||||
|
||||
@@ -13,11 +13,12 @@ These are the workflow files for helping people get started with GitHub Actions.
|
||||
**Directory structure:**
|
||||
* [ci](ci): solutions for Continuous Integration
|
||||
* [automation](automation): solutions for automating workflows.
|
||||
* [code-scanning](code-scanning): starter workflows for [Code Scanning](https://github.com/features/security)
|
||||
* [icons](icons): svg icons for the relevant template
|
||||
|
||||
Each workflow must be written in YAML and have a `.yml` extension. They also need a corresponding `.properties.json` file that contains extra metadata about the workflow (this is displayed in the GitHub.com UI).
|
||||
|
||||
For example: `ci/python-django.yml` and `ci/python-django.properties.json`.
|
||||
For example: `ci/django.yml` and `ci/properties/django.properties.json`.
|
||||
|
||||
**Valid properties:**
|
||||
* `name`: the name shown in onboarding
|
||||
|
||||
@@ -9,5 +9,5 @@ jobs:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-message: 'Message that will be displayed on users'' first issue'
|
||||
pr-message: 'Message that will be displayed on users'' first pr'
|
||||
issue-message: 'Message that will be displayed on users first issue'
|
||||
pr-message: 'Message that will be displayed on users first pull request'
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# To use this workflow, you will need to set up a .github/labeler.yml
|
||||
# file with configuration. For more information, see:
|
||||
# https://github.com/actions/labeler/blob/master/README.md
|
||||
# https://github.com/actions/labeler
|
||||
|
||||
name: Labeler
|
||||
on: [pull_request]
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# This is a basic workflow that is manually triggered
|
||||
|
||||
name: Manual workflow
|
||||
|
||||
# Controls when the action will run. Workflow runs when manually triggered using the UI
|
||||
# or API.
|
||||
on:
|
||||
workflow_dispatch:
|
||||
# Inputs the workflow accepts.
|
||||
inputs:
|
||||
name:
|
||||
# Friendly description to be shown in the UI instead of 'name'
|
||||
description: 'Person to greet'
|
||||
# Default value if no value is explicitly provided
|
||||
default: 'World'
|
||||
# Input has to be provided for the workflow to run
|
||||
required: true
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "greet"
|
||||
greet:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Runs a single command using the runners shell
|
||||
- name: Send greeting
|
||||
run: echo "Hello ${{ github.event.inputs.name }}"
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "Manual workflow",
|
||||
"description": "Simple workflow that is manually triggered.",
|
||||
"iconName": "octicon person",
|
||||
"categories": ["Automation"]
|
||||
}
|
||||
@@ -2,7 +2,7 @@ name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
- cron: "30 1 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v1
|
||||
- uses: actions/stale@v3
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'Stale issue message'
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
name: Ada (GNAT)
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up GNAT toolchain
|
||||
run: >
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install gnat gprbuild
|
||||
|
||||
- name: Build
|
||||
run: gprbuild -j0 -p
|
||||
@@ -0,0 +1,118 @@
|
||||
# This workflow will build and push a new container image to Alibaba Cloud Container Registry (ACR),
|
||||
# and then will deploy it to Alibaba Cloud Container Service for Kubernetes (ACK), when a release is created.
|
||||
#
|
||||
# To use this workflow, you will need to complete the following set-up steps:
|
||||
#
|
||||
# 1. Create an ACR repository to store your container images.
|
||||
# You can use ACR EE instance for more security and better performance.
|
||||
# For instructions see https://www.alibabacloud.com/help/doc-detail/142168.htm
|
||||
#
|
||||
# 2. Create an ACK cluster to run your containerized application.
|
||||
# You can use ACK Pro cluster for more security and better performance.
|
||||
# For instructions see https://www.alibabacloud.com/help/doc-detail/95108.htm
|
||||
#
|
||||
# 3. Store your AccessKey pair in GitHub Actions secrets named `ACCESS_KEY_ID` and `ACCESS_KEY_SECRET`.
|
||||
# For instructions on setting up secrets see: https://developer.github.com/actions/managing-workflows/storing-secrets/
|
||||
#
|
||||
# 4. Change the values for the REGION_ID, REGISTRY, NAMESPACE, IMAGE, ACK_CLUSTER_ID, and ACK_DEPLOYMENT_NAME.
|
||||
#
|
||||
|
||||
name: Build and Deploy to ACK
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
# Environment variables available to all jobs and steps in this workflow.
|
||||
env:
|
||||
REGION_ID: cn-hangzhou
|
||||
REGISTRY: registry.cn-hangzhou.aliyuncs.com
|
||||
NAMESPACE: namespace
|
||||
IMAGE: repo
|
||||
TAG: ${{ github.sha }}
|
||||
ACK_CLUSTER_ID: clusterID
|
||||
ACK_DEPLOYMENT_NAME: nginx-deployment
|
||||
|
||||
ACR_EE_REGISTRY: myregistry.cn-hangzhou.cr.aliyuncs.com
|
||||
ACR_EE_INSTANCE_ID: instanceID
|
||||
ACR_EE_NAMESPACE: namespace
|
||||
ACR_EE_IMAGE: repo
|
||||
ACR_EE_TAG: ${{ github.sha }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# 1.1 Login to ACR
|
||||
- name: Login to ACR with the AccessKey pair
|
||||
uses: aliyun/acr-login@v1
|
||||
with:
|
||||
region-id: "${{ env.REGION_ID }}"
|
||||
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
|
||||
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
|
||||
|
||||
# 1.2 Buid and push image to ACR
|
||||
- name: Build and push image to ACR
|
||||
run: |
|
||||
docker build --tag "$REGISTRY/$NAMESPACE/$IMAGE:$TAG" .
|
||||
docker push "$REGISTRY/$NAMESPACE/$IMAGE:$TAG"
|
||||
|
||||
# 1.3 Scan image in ACR
|
||||
- name: Scan image in ACR
|
||||
uses: aliyun/acr-scan@v1
|
||||
with:
|
||||
region-id: "${{ env.REGION_ID }}"
|
||||
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
|
||||
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
|
||||
repository: "${{ env.NAMESPACE }}/${{ env.IMAGE }}"
|
||||
tag: "${{ env.TAG }}"
|
||||
|
||||
# 2.1 (Optional) Login to ACR EE
|
||||
- uses: actions/checkout@v2
|
||||
- name: Login to ACR EE with the AccessKey pair
|
||||
uses: aliyun/acr-login@v1
|
||||
with:
|
||||
login-server: "https://${{ env.ACR_EE_REGISTRY }}"
|
||||
region-id: "${{ env.REGION_ID }}"
|
||||
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
|
||||
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
|
||||
instance-id: "${{ env.ACR_EE_INSTANCE_ID }}"
|
||||
|
||||
# 2.2 (Optional) Build and push image ACR EE
|
||||
- name: Build and push image to ACR EE
|
||||
run: |
|
||||
docker build -t "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" .
|
||||
docker push "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG"
|
||||
# 2.3 (Optional) Scan image in ACR EE
|
||||
- name: Scan image in ACR EE
|
||||
uses: aliyun/acr-scan@v1
|
||||
with:
|
||||
region-id: "${{ env.REGION_ID }}"
|
||||
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
|
||||
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
|
||||
instance-id: "${{ env.ACR_EE_INSTANCE_ID }}"
|
||||
repository: "${{ env.ACR_EE_NAMESPACE}}/${{ env.ACR_EE_IMAGE }}"
|
||||
tag: "${{ env.ACR_EE_TAG }}"
|
||||
|
||||
# 3.1 Set ACK context
|
||||
- name: Set K8s context
|
||||
uses: aliyun/ack-set-context@v1
|
||||
with:
|
||||
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
|
||||
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
|
||||
cluster-id: "${{ env.ACK_CLUSTER_ID }}"
|
||||
|
||||
# 3.2 Deploy the image to the ACK cluster
|
||||
- name: Set up Kustomize
|
||||
run: |-
|
||||
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash /dev/stdin 3.8.6
|
||||
- name: Deploy
|
||||
run: |-
|
||||
./kustomize edit set image REGISTRY/NAMESPACE/IMAGE:TAG=$REGISTRY/$NAMESPACE/$IMAGE:$TAG
|
||||
./kustomize build . | kubectl apply -f -
|
||||
kubectl rollout status deployment/$ACK_DEPLOYMENT_NAME
|
||||
kubectl get services -o wide
|
||||
@@ -2,9 +2,9 @@ name: Android CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -17,5 +17,7 @@ jobs:
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build
|
||||
|
||||
@@ -5,9 +5,9 @@ name: Java CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -5,10 +5,13 @@
|
||||
#
|
||||
# To configure this workflow:
|
||||
#
|
||||
# 1. Set up a secret in your repository named AZURE_WEBAPP_PUBLISH_PROFILE with the value of your Azure publish profile.
|
||||
# 1. For Linux apps, add an app setting called WEBSITE_WEBDEPLOY_USE_SCM and set it to true in your app **before downloading the file**.
|
||||
# For more instructions see: https://docs.microsoft.com/azure/app-service/configure-common#configure-app-settings
|
||||
#
|
||||
# 2. Set up a secret in your repository named AZURE_WEBAPP_PUBLISH_PROFILE with the value of your Azure publish profile.
|
||||
# For instructions on obtaining the publish profile see: https://docs.microsoft.com/azure/app-service/deploy-github-actions#configure-the-github-secret
|
||||
#
|
||||
# 2. Change the values for the AZURE_WEBAPP_NAME, AZURE_WEBAPP_PACKAGE_PATH and NODE_VERSION environment variables (below).
|
||||
# 3. Change the values for the AZURE_WEBAPP_NAME, AZURE_WEBAPP_PACKAGE_PATH and NODE_VERSION environment variables (below).
|
||||
#
|
||||
# For more information on GitHub Actions for Azure, refer to https://github.com/Azure/Actions
|
||||
# For more samples to get started with GitHub Action workflows to deploy to Azure, refer to https://github.com/Azure/actions-workflow-samples
|
||||
@@ -25,6 +28,7 @@ jobs:
|
||||
build-and-deploy:
|
||||
name: Build and Deploy
|
||||
runs-on: ubuntu-latest
|
||||
environment: production
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ env.NODE_VERSION }}
|
||||
|
||||
@@ -2,13 +2,16 @@
|
||||
|
||||
name: CI
|
||||
|
||||
# Controls when the action will run. Triggers the workflow on push or pull request
|
||||
# events but only for the master branch
|
||||
# Controls when the action will run.
|
||||
on:
|
||||
# Triggers the workflow on push or pull request events but only for the $default-branch branch
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
@@ -19,15 +22,15 @@ jobs:
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Runs a single command using the runners shell
|
||||
- name: Run a one-line script
|
||||
run: echo Hello, world!
|
||||
# Runs a single command using the runners shell
|
||||
- name: Run a one-line script
|
||||
run: echo Hello, world!
|
||||
|
||||
# Runs a set of commands using the runners shell
|
||||
- name: Run a multi-line script
|
||||
run: |
|
||||
echo Add other actions to build,
|
||||
echo test, and deploy your project.
|
||||
# Runs a set of commands using the runners shell
|
||||
- name: Run a multi-line script
|
||||
run: |
|
||||
echo Add other actions to build,
|
||||
echo test, and deploy your project.
|
||||
|
||||
@@ -2,9 +2,9 @@ name: C/C++ CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -2,9 +2,9 @@ name: Clojure CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
name: CMake
|
||||
|
||||
on: [push]
|
||||
|
||||
env:
|
||||
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
|
||||
BUILD_TYPE: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
# The CMake configure and build commands are platform agnostic and should work equally
|
||||
# well on Windows or Mac. You can convert this to a matrix build if you need
|
||||
# cross-platform coverage.
|
||||
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Create Build Environment
|
||||
# Some projects don't allow in-source building, so create a separate build directory
|
||||
# We'll use this as our working directory for all subsequent commands
|
||||
run: cmake -E make_directory ${{github.workspace}}/build
|
||||
|
||||
- name: Configure CMake
|
||||
# Use a bash shell so we can use the same syntax for environment variable
|
||||
# access regardless of the host operating system
|
||||
shell: bash
|
||||
working-directory: ${{github.workspace}}/build
|
||||
# Note the current convention is to use the -S and -B options here to specify source
|
||||
# and build directories, but this is only available with CMake 3.13 and higher.
|
||||
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
|
||||
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{github.workspace}}/build
|
||||
shell: bash
|
||||
# Execute the build. You can specify a specific target with "--target <NAME>"
|
||||
run: cmake --build . --config $BUILD_TYPE
|
||||
|
||||
- name: Test
|
||||
working-directory: ${{github.workspace}}/build
|
||||
shell: bash
|
||||
# Execute tests defined by the CMake configuration.
|
||||
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
|
||||
run: ctest -C $BUILD_TYPE
|
||||
@@ -2,9 +2,9 @@ name: Crystal CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
name: D
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: dlang-community/setup-dlang@4c99aa991ce7d19dd3064de0a4f2f6b2f152e2d7
|
||||
|
||||
- name: 'Build & Test'
|
||||
run: |
|
||||
# Build the project, with its main file included, without unittests
|
||||
dub build --compiler=$DC
|
||||
# Build and run tests, as defined by `unittest` configuration
|
||||
# In this mode, `mainSourceFile` is excluded and `version (unittest)` are included
|
||||
# See https://dub.pm/package-format-json.html#configurations
|
||||
dub test --compiler=$DC
|
||||
@@ -1,22 +1,41 @@
|
||||
name: Dart CI
|
||||
name: Dart
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Note that this workflow uses the latest stable version of the Dart SDK.
|
||||
# Docker images for other release channels - like dev and beta - are also
|
||||
# available. See https://hub.docker.com/r/google/dart/ for the available
|
||||
# images.
|
||||
container:
|
||||
image: google/dart:latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: pub get
|
||||
- name: Run tests
|
||||
run: pub run test
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Print Dart SDK version
|
||||
run: dart --version
|
||||
|
||||
- name: Install dependencies
|
||||
run: dart pub get
|
||||
|
||||
# Uncomment this step to verify the use of 'dart format' on each commit.
|
||||
# - name: Verify formatting
|
||||
# run: dart format --output=none --set-exit-if-changed .
|
||||
|
||||
# Consider passing '--fatal-infos' for slightly stricter analysis.
|
||||
- name: Analyze project source
|
||||
run: dart analyze
|
||||
|
||||
# Your project will need to have tests in test/ and a dependency on
|
||||
# package:test for this step to succeed. Note that Flutter projects will
|
||||
# want to change this to 'flutter test'.
|
||||
- name: Run tests
|
||||
run: dart test
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
# This workflow will install Deno and run tests across stable and nightly builds on Windows, Ubuntu and macOS.
|
||||
# For more information see: https://github.com/denolib/setup-deno
|
||||
|
||||
name: Deno
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [$default-branch]
|
||||
pull_request:
|
||||
branches: [$default-branch]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ${{ matrix.os }} # runs a test on Ubuntu, Windows and macOS
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
deno: ["v1.x", "nightly"]
|
||||
os: [macOS-latest, windows-latest, ubuntu-latest]
|
||||
|
||||
steps:
|
||||
- name: Setup repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Deno
|
||||
uses: denolib/setup-deno@c7d7968ad4a59c159a777f79adddad6872ee8d96
|
||||
with:
|
||||
deno-version: ${{ matrix.deno }} # tests across multiple Deno versions
|
||||
|
||||
- name: Cache Dependencies
|
||||
run: deno cache deps.ts
|
||||
|
||||
- name: Run Tests
|
||||
run: deno test -A --unstable
|
||||
@@ -2,9 +2,9 @@ name: Django CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -13,12 +13,12 @@ jobs:
|
||||
strategy:
|
||||
max-parallel: 4
|
||||
matrix:
|
||||
python-version: [3.6, 3.7, 3.8]
|
||||
python-version: [3.7, 3.8, 3.9]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v1
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install Dependencies
|
||||
|
||||
@@ -2,9 +2,9 @@ name: Docker Image CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@ name: Docker
|
||||
|
||||
on:
|
||||
push:
|
||||
# Publish `master` as Docker `latest` image.
|
||||
# Publish `$default-branch` as Docker `latest` image.
|
||||
branches:
|
||||
- master
|
||||
- $default-branch
|
||||
|
||||
# Publish `v1.2.3` tags as releases.
|
||||
tags:
|
||||
@@ -56,7 +56,7 @@ jobs:
|
||||
- name: Push image
|
||||
run: |
|
||||
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
|
||||
|
||||
|
||||
# Change all uppercase to lowercase
|
||||
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
|
||||
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
|
||||
|
||||
# Use Docker `latest` tag convention
|
||||
[ "$VERSION" == "master" ] && VERSION=latest
|
||||
[ "$VERSION" == "$default-branch" ] && VERSION=latest
|
||||
|
||||
echo IMAGE_ID=$IMAGE_ID
|
||||
echo VERSION=$VERSION
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
name: .NET Core
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup .NET Core
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 3.1.101
|
||||
- name: Install dependencies
|
||||
run: dotnet restore
|
||||
- name: Build
|
||||
run: dotnet build --configuration Release --no-restore
|
||||
- name: Test
|
||||
run: dotnet test --no-restore --verbosity normal
|
||||
@@ -3,30 +3,30 @@
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
# This workflow will build, test and package a WPF desktop application
|
||||
# This workflow will build, test, sign and package a WPF or Windows Forms desktop application
|
||||
# built on .NET Core.
|
||||
# To learn how to migrate your existing WPF application to .NET Core,
|
||||
# To learn how to migrate your existing application to .NET Core,
|
||||
# refer to https://docs.microsoft.com/en-us/dotnet/desktop-wpf/migration/convert-project-from-net-framework
|
||||
#
|
||||
# To configure this workflow:
|
||||
#
|
||||
# 1. Configure environment variables
|
||||
# GitHub sets default environment variables for every workflow run.
|
||||
# GitHub sets default environment variables for every workflow run.
|
||||
# Replace the variables relative to your project in the "env" section below.
|
||||
#
|
||||
#
|
||||
# 2. Signing
|
||||
# Generate a signing certificate in the Windows Application
|
||||
# Generate a signing certificate in the Windows Application
|
||||
# Packaging Project or add an existing signing certificate to the project.
|
||||
# Next, use PowerShell to encode the .pfx file using Base64 encoding
|
||||
# by running the following Powershell script to generate the output string:
|
||||
#
|
||||
#
|
||||
# $pfx_cert = Get-Content '.\SigningCertificate.pfx' -Encoding Byte
|
||||
# [System.Convert]::ToBase64String($pfx_cert) | Out-File 'SigningCertificate_Encoded.txt'
|
||||
#
|
||||
# Open the output file, SigningCertificate_Encoded.txt, and copy the
|
||||
# string inside. Then, add the string to the repo as a GitHub secret
|
||||
# and name it "Base64_Encoded_Pfx."
|
||||
# For more information on how to configure your signing certificate for
|
||||
# For more information on how to configure your signing certificate for
|
||||
# this workflow, refer to https://github.com/microsoft/github-actions-for-desktop-apps#signing
|
||||
#
|
||||
# Finally, add the signing certificate password to the repo as a secret and name it "Pfx_Key".
|
||||
@@ -36,13 +36,13 @@
|
||||
# For a complete CI/CD sample to get started with GitHub Action workflows for Desktop Applications,
|
||||
# refer to https://github.com/microsoft/github-actions-for-desktop-apps
|
||||
|
||||
name: WPF .NET Core
|
||||
name: .NET Core Desktop
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -52,7 +52,7 @@ jobs:
|
||||
matrix:
|
||||
configuration: [Debug, Release]
|
||||
|
||||
runs-on: windows-latest # For a list of available runner types, refer to
|
||||
runs-on: windows-latest # For a list of available runner types, refer to
|
||||
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
|
||||
|
||||
env:
|
||||
@@ -71,7 +71,7 @@ jobs:
|
||||
- name: Install .NET Core
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 3.1.101
|
||||
dotnet-version: 5.0.x
|
||||
|
||||
# Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
|
||||
- name: Setup MSBuild.exe
|
||||
@@ -81,8 +81,8 @@ jobs:
|
||||
- name: Execute unit tests
|
||||
run: dotnet test
|
||||
|
||||
# Restore the WPF application to populate the obj folder with RuntimeIdentifiers
|
||||
- name: Restore the WPF application
|
||||
# Restore the application to populate the obj folder with RuntimeIdentifiers
|
||||
- name: Restore the application
|
||||
run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration
|
||||
env:
|
||||
Configuration: ${{ matrix.configuration }}
|
||||
@@ -109,7 +109,7 @@ jobs:
|
||||
|
||||
# Upload the MSIX package: https://github.com/marketplace/actions/upload-artifact
|
||||
- name: Upload build artifacts
|
||||
uses: actions/upload-artifact@v1
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: MSIX Package
|
||||
path: ${{ env.Wap_Project_Directory }}\AppPackages
|
||||
@@ -0,0 +1,25 @@
|
||||
name: .NET
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 5.0.x
|
||||
- name: Restore dependencies
|
||||
run: dotnet restore
|
||||
- name: Build
|
||||
run: dotnet build --no-restore
|
||||
- name: Test
|
||||
run: dotnet test --no-build --verbosity normal
|
||||
@@ -1,24 +1,31 @@
|
||||
name: Elixir CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup elixir
|
||||
uses: actions/setup-elixir@v1
|
||||
with:
|
||||
elixir-version: 1.9.4 # Define the elixir version [required]
|
||||
otp-version: 22.2 # Define the OTP version [required]
|
||||
- name: Install Dependencies
|
||||
run: mix deps.get
|
||||
- name: Run Tests
|
||||
run: mix test
|
||||
name: Elixir CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
name: Build and test
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Elixir
|
||||
uses: actions/setup-elixir@v1
|
||||
with:
|
||||
elixir-version: '1.10.3' # Define the elixir version [required]
|
||||
otp-version: '22.3' # Define the OTP version [required]
|
||||
- name: Restore dependencies cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: deps
|
||||
key: ${{ runner.os }}-mix-${{ hashFiles('**/mix.lock') }}
|
||||
restore-keys: ${{ runner.os }}-mix-
|
||||
- name: Install dependencies
|
||||
run: mix deps.get
|
||||
- name: Run tests
|
||||
run: mix test
|
||||
|
||||
@@ -2,9 +2,9 @@ name: Erlang CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@ name: Ruby Gem
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -16,19 +16,19 @@ jobs:
|
||||
- name: Set up Ruby 2.6
|
||||
uses: actions/setup-ruby@v1
|
||||
with:
|
||||
version: 2.6.x
|
||||
ruby-version: 2.6.x
|
||||
|
||||
- name: Publish to GPR
|
||||
run: |
|
||||
mkdir -p $HOME/.gem
|
||||
touch $HOME/.gem/credentials
|
||||
chmod 0600 $HOME/.gem/credentials
|
||||
printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
||||
printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
||||
gem build *.gemspec
|
||||
gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
|
||||
env:
|
||||
GEM_HOST_API_KEY: ${{secrets.GPR_AUTH_TOKEN}}
|
||||
OWNER: username
|
||||
GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
|
||||
OWNER: ${{ github.repository_owner }}
|
||||
|
||||
- name: Publish to RubyGems
|
||||
run: |
|
||||
@@ -39,4 +39,4 @@ jobs:
|
||||
gem build *.gemspec
|
||||
gem push *.gem
|
||||
env:
|
||||
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
|
||||
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
||||
|
||||
@@ -2,36 +2,24 @@ name: Go
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Set up Go 1.x
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ^1.13
|
||||
id: go
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Get dependencies
|
||||
run: |
|
||||
go get -v -t -d ./...
|
||||
if [ -f Gopkg.toml ]; then
|
||||
curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
|
||||
dep ensure
|
||||
fi
|
||||
go-version: 1.15
|
||||
|
||||
- name: Build
|
||||
run: go build -v .
|
||||
run: go build -v ./...
|
||||
|
||||
- name: Test
|
||||
run: go test -v .
|
||||
run: go test -v ./...
|
||||
|
||||
@@ -4,9 +4,11 @@
|
||||
#
|
||||
# 1. Ensure that your repository contains the necessary configuration for your Google Kubernetes Engine cluster, including deployment.yml, kustomization.yml, service.yml, etc.
|
||||
#
|
||||
# 2. Set up secrets in your workspace: GKE_PROJECT with the name of the project, GKE_EMAIL with the service account email, GKE_KEY with the Base64 encoded JSON service account key (https://github.com/GoogleCloudPlatform/github-actions/tree/docs/service-account-key/setup-gcloud#inputs).
|
||||
# 2. Set up secrets in your workspace: GKE_PROJECT with the name of the project and GKE_SA_KEY with the Base64 encoded JSON service account key (https://github.com/GoogleCloudPlatform/github-actions/tree/docs/service-account-key/setup-gcloud#inputs).
|
||||
#
|
||||
# 3. Change the values for the GKE_ZONE, GKE_CLUSTER, IMAGE, REGISTRY_HOSTNAME and DEPLOYMENT_NAME environment variables (below).
|
||||
# 3. Change the values for the GKE_ZONE, GKE_CLUSTER, IMAGE, and DEPLOYMENT_NAME environment variables (below).
|
||||
#
|
||||
# For more support on how to run the workflow, please visit https://github.com/google-github-actions/setup-gcloud/tree/master/example-workflows/gke
|
||||
|
||||
name: Build and Deploy to GKE
|
||||
|
||||
@@ -14,62 +16,64 @@ on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
# Environment variables available to all jobs and steps in this workflow
|
||||
env:
|
||||
GKE_PROJECT: ${{ secrets.GKE_PROJECT }}
|
||||
GKE_EMAIL: ${{ secrets.GKE_EMAIL }}
|
||||
GITHUB_SHA: ${{ github.sha }}
|
||||
GKE_ZONE: us-west1-a
|
||||
GKE_CLUSTER: example-gke-cluster
|
||||
IMAGE: gke-test
|
||||
REGISTRY_HOSTNAME: gcr.io
|
||||
DEPLOYMENT_NAME: gke-test
|
||||
PROJECT_ID: ${{ secrets.GKE_PROJECT }}
|
||||
GKE_CLUSTER: cluster-1 # TODO: update to cluster name
|
||||
GKE_ZONE: us-central1-c # TODO: update to cluster zone
|
||||
DEPLOYMENT_NAME: gke-test # TODO: update to deployment name
|
||||
IMAGE: static-site
|
||||
|
||||
jobs:
|
||||
setup-build-publish-deploy:
|
||||
name: Setup, Build, Publish, and Deploy
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Setup gcloud CLI
|
||||
- uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
|
||||
- uses: google-github-actions/setup-gcloud@v0.2.0
|
||||
with:
|
||||
version: '270.0.0'
|
||||
service_account_email: ${{ secrets.GKE_EMAIL }}
|
||||
service_account_key: ${{ secrets.GKE_KEY }}
|
||||
service_account_key: ${{ secrets.GKE_SA_KEY }}
|
||||
project_id: ${{ secrets.GKE_PROJECT }}
|
||||
|
||||
# Configure Docker to use the gcloud command-line tool as a credential
|
||||
# helper for authentication
|
||||
- run: |-
|
||||
gcloud --quiet auth configure-docker
|
||||
|
||||
# Get the GKE credentials so we can deploy to the cluster
|
||||
- uses: google-github-actions/get-gke-credentials@v0.2.1
|
||||
with:
|
||||
cluster_name: ${{ env.GKE_CLUSTER }}
|
||||
location: ${{ env.GKE_ZONE }}
|
||||
credentials: ${{ secrets.GKE_SA_KEY }}
|
||||
|
||||
# Configure docker to use the gcloud command-line tool as a credential helper
|
||||
- run: |
|
||||
# Set up docker to authenticate
|
||||
# via gcloud command-line tool.
|
||||
gcloud auth configure-docker
|
||||
|
||||
# Build the Docker image
|
||||
- name: Build
|
||||
run: |
|
||||
docker build -t "$REGISTRY_HOSTNAME"/"$GKE_PROJECT"/"$IMAGE":"$GITHUB_SHA" \
|
||||
run: |-
|
||||
docker build \
|
||||
--tag "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA" \
|
||||
--build-arg GITHUB_SHA="$GITHUB_SHA" \
|
||||
--build-arg GITHUB_REF="$GITHUB_REF" .
|
||||
--build-arg GITHUB_REF="$GITHUB_REF" \
|
||||
.
|
||||
|
||||
# Push the Docker image to Google Container Registry
|
||||
- name: Publish
|
||||
run: |
|
||||
docker push $REGISTRY_HOSTNAME/$GKE_PROJECT/$IMAGE:$GITHUB_SHA
|
||||
|
||||
run: |-
|
||||
docker push "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA"
|
||||
|
||||
# Set up kustomize
|
||||
- name: Set up Kustomize
|
||||
run: |
|
||||
curl -o kustomize --location https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64
|
||||
run: |-
|
||||
curl -sfLo kustomize https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64
|
||||
chmod u+x ./kustomize
|
||||
|
||||
# Deploy the Docker image to the GKE cluster
|
||||
- name: Deploy
|
||||
run: |
|
||||
gcloud container clusters get-credentials $GKE_CLUSTER --zone $GKE_ZONE --project $GKE_PROJECT
|
||||
./kustomize edit set image $REGISTRY_HOSTNAME/$GKE_PROJECT/$IMAGE:${GITHUB_SHA}
|
||||
run: |-
|
||||
./kustomize edit set image gcr.io/PROJECT_ID/IMAGE:TAG=gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA
|
||||
./kustomize build . | kubectl apply -f -
|
||||
kubectl rollout status deployment/$DEPLOYMENT_NAME
|
||||
kubectl get services -o wide
|
||||
|
||||
@@ -5,9 +5,9 @@ name: Java CI with Gradle
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -2,9 +2,9 @@ name: Haskell CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -15,8 +15,8 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-haskell@v1
|
||||
with:
|
||||
ghc-version: '8.8.2'
|
||||
cabal-version: '3.0'
|
||||
ghc-version: '8.10.3'
|
||||
cabal-version: '3.2'
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v1
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
name: iOS starter workflow
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build and Test default scheme using any available iPhone simulator
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Set Default Scheme
|
||||
run: |
|
||||
scheme_list=$(xcodebuild -list -json | tr -d "\n")
|
||||
default=$(echo $scheme_list | ruby -e "require 'json'; puts JSON.parse(STDIN.gets)['project']['targets'][0]")
|
||||
echo $default | cat >default
|
||||
echo Using default scheme: $default
|
||||
- name: Build
|
||||
env:
|
||||
scheme: ${{ 'default' }}
|
||||
platform: ${{ 'iOS Simulator' }}
|
||||
run: |
|
||||
device=`instruments -s -devices | grep -oE 'iPhone.*?[^\(]+' | head -1 | awk '{$1=$1;print}'`
|
||||
if [ $scheme = default ]; then scheme=$(cat default); fi
|
||||
if [ "`ls -A | grep -i \\.xcworkspace\$`" ]; then filetype_parameter="workspace" && file_to_build="`ls -A | grep -i \\.xcworkspace\$`"; else filetype_parameter="project" && file_to_build="`ls -A | grep -i \\.xcodeproj\$`"; fi
|
||||
file_to_build=`echo $file_to_build | awk '{$1=$1;print}'`
|
||||
xcodebuild build-for-testing -scheme "$scheme" -"$filetype_parameter" "$file_to_build" -destination "platform=$platform,name=$device"
|
||||
- name: Test
|
||||
env:
|
||||
scheme: ${{ 'default' }}
|
||||
platform: ${{ 'iOS Simulator' }}
|
||||
run: |
|
||||
device=`instruments -s -devices | grep -oE 'iPhone.*?[^\(]+' | head -1 | awk '{$1=$1;print}'`
|
||||
if [ $scheme = default ]; then scheme=$(cat default); fi
|
||||
if [ "`ls -A | grep -i \\.xcworkspace\$`" ]; then filetype_parameter="workspace" && file_to_build="`ls -A | grep -i \\.xcworkspace\$`"; else filetype_parameter="project" && file_to_build="`ls -A | grep -i \\.xcodeproj\$`"; fi
|
||||
file_to_build=`echo $file_to_build | awk '{$1=$1;print}'`
|
||||
xcodebuild test-without-building -scheme "$scheme" -"$filetype_parameter" "$file_to_build" -destination "platform=$platform,name=$device"
|
||||
@@ -2,9 +2,9 @@ name: Jekyll site CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -2,21 +2,24 @@ name: Laravel
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
laravel-tests:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
steps:
|
||||
- uses: shivammathur/setup-php@b7d1d9c9a92d8d8463ce36d7f60da34d461724f8
|
||||
with:
|
||||
php-version: '8.0'
|
||||
- uses: actions/checkout@v2
|
||||
- name: Copy .env
|
||||
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
|
||||
- name: Install Dependencies
|
||||
run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
|
||||
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
|
||||
- name: Generate key
|
||||
run: php artisan key:generate
|
||||
- name: Directory Permissions
|
||||
|
||||
@@ -5,9 +5,9 @@ name: Java CI with Maven
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
name: MSBuild
|
||||
|
||||
on: [push]
|
||||
|
||||
env:
|
||||
# Path to the solution file relative to the root of the project.
|
||||
SOLUTION_FILE_PATH: .
|
||||
|
||||
# Configuration type to build.
|
||||
# You can convert this to a build matrix if you need coverage of multiple configuration types.
|
||||
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
|
||||
BUILD_CONFIGURATION: Release
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Add MSBuild to PATH
|
||||
uses: microsoft/setup-msbuild@v1
|
||||
|
||||
- name: Restore NuGet packages
|
||||
working-directory: ${{env.GITHUB_WORKSPACE}}
|
||||
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{env.GITHUB_WORKSPACE}}
|
||||
# Add additional options to the MSBuild command line here (like platform or verbosity level).
|
||||
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
|
||||
run: msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}
|
||||
@@ -5,9 +5,9 @@ name: Node.js CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -16,7 +16,8 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [10.x, 12.x]
|
||||
node-version: [10.x, 12.x, 14.x, 15.x]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12
|
||||
registry-url: https://npm.pkg.github.com/
|
||||
registry-url: $registry-url(npm)
|
||||
- run: npm ci
|
||||
- run: npm publish
|
||||
env:
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
### The OpenShift Starter workflow will:
|
||||
# - Checkout your repository
|
||||
# - Perform a Docker build
|
||||
# - Push the built image to an image registry
|
||||
# - Log in to your OpenShift cluster
|
||||
# - Create an OpenShift app from the image and expose it to the internet.
|
||||
|
||||
### Before you begin:
|
||||
# - Have write access to a container image registry such as quay.io or Dockerhub.
|
||||
# - Have access to an OpenShift cluster.
|
||||
# - For instructions to get started with OpenShift see https://www.openshift.com/try
|
||||
# - The project you wish to add this workflow to should have a Dockerfile.
|
||||
# - If you don't have a Dockerfile at the repository root, see the buildah-build step.
|
||||
# - Builds from scratch are also available, but require more configuration.
|
||||
|
||||
### To get the workflow running:
|
||||
# 1. Add this workflow to your repository.
|
||||
# 2. Edit the top-level 'env' section, which contains a list of environment variables that must be configured.
|
||||
# 3. Create the secrets referenced in the 'env' section under your repository Settings.
|
||||
# 4. Edit the 'branches' in the 'on' section to trigger the workflow on a push to your branch.
|
||||
# 5. Commit and push your changes.
|
||||
|
||||
# For a more sophisticated example, see https://github.com/redhat-actions/spring-petclinic/blob/main/.github/workflows/petclinic-sample.yaml
|
||||
# Also see our GitHub organization, https://github.com/redhat-actions/
|
||||
|
||||
name: OpenShift
|
||||
|
||||
# ⬇️ Modify the fields marked with ⬇️ to fit your project, and create any secrets that are referenced.
|
||||
# https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets
|
||||
env:
|
||||
# ⬇️ EDIT with your registry and registry path.
|
||||
REGISTRY: quay.io/<username>
|
||||
# ⬇️ EDIT with your registry username.
|
||||
REGISTRY_USER: <username>
|
||||
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
|
||||
# ⬇️ EDIT to log into your OpenShift cluster and set up the context.
|
||||
# See https://github.com/redhat-actions/oc-login#readme for how to retrieve these values.
|
||||
OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_SERVER }}
|
||||
OPENSHIFT_TOKEN: ${{ secrets.OPENSHIFT_TOKEN }}
|
||||
|
||||
# ⬇️ EDIT with the port your application should be accessible on.
|
||||
APP_PORT: 8080
|
||||
|
||||
# ⬇️ EDIT if you wish to set the kube context's namespace after login. Leave blank to use the default namespace.
|
||||
OPENSHIFT_NAMESPACE: ""
|
||||
|
||||
# If you wish to manually provide the APP_NAME and TAG, set them here, otherwise they will be auto-detected.
|
||||
APP_NAME: ""
|
||||
TAG: ""
|
||||
|
||||
on:
|
||||
# https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
|
||||
push:
|
||||
# Edit to the branch(es) you want to build and deploy on each push.
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
openshift-ci-cd:
|
||||
name: Build and deploy to OpenShift
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Determine app name
|
||||
if: env.APP_NAME == ''
|
||||
run: |
|
||||
echo "APP_NAME=$(basename $PWD)" | tee -a $GITHUB_ENV
|
||||
|
||||
- name: Determine tag
|
||||
if: env.TAG == ''
|
||||
run: |
|
||||
echo "TAG=${GITHUB_SHA::7}" | tee -a $GITHUB_ENV
|
||||
|
||||
# https://github.com/redhat-actions/buildah-build#readme
|
||||
- name: Build from Dockerfile
|
||||
uses: redhat-actions/buildah-build@v1
|
||||
with:
|
||||
image: ${{ env.APP_NAME }}
|
||||
tag: ${{ env.TAG }}
|
||||
# If you don't have a dockerfile, see:
|
||||
# https://github.com/redhat-actions/buildah-build#building-from-scratch
|
||||
# Otherwise, point this to your Dockerfile relative to the repository root.
|
||||
dockerfiles: |
|
||||
./Dockerfile
|
||||
|
||||
# https://github.com/redhat-actions/push-to-registry#readme
|
||||
- name: Push to registry
|
||||
id: push-to-registry
|
||||
uses: redhat-actions/push-to-registry@v1
|
||||
with:
|
||||
image: ${{ env.APP_NAME }}
|
||||
tag: ${{ env.TAG }}
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ env.REGISTRY_USER }}
|
||||
password: ${{ env.REGISTRY_PASSWORD }}
|
||||
|
||||
# The path the image was pushed to is now stored in ${{ steps.push-to-registry.outputs.registry-path }}
|
||||
|
||||
# oc-login works on all platforms, but oc must be installed first.
|
||||
# The GitHub Ubuntu runner already includes oc.
|
||||
# Otherwise, https://github.com/redhat-actions/oc-installer#readme is available.
|
||||
|
||||
# https://github.com/redhat-actions/oc-login#readme
|
||||
- name: Log in to OpenShift
|
||||
uses: redhat-actions/oc-login@v1
|
||||
with:
|
||||
openshift_server_url: ${{ env.OPENSHIFT_SERVER }}
|
||||
openshift_token: ${{ env.OPENSHIFT_TOKEN }}
|
||||
insecure_skip_tls_verify: true
|
||||
namespace: ${{ env.OPENSHIFT_NAMESPACE }}
|
||||
|
||||
# This step should create a deployment, service, and route to run your app and expose it to the internet.
|
||||
# Feel free to replace this with 'oc apply', 'helm install', or however you like to deploy your app.
|
||||
- name: Create and expose app
|
||||
run: |
|
||||
export IMAGE="${{ steps.push-to-registry.outputs.registry-path }}"
|
||||
export PORT=${{ env.APP_PORT }}
|
||||
|
||||
export SELECTOR="app=${{ env.APP_NAME }}"
|
||||
echo "SELECTOR=$SELECTOR" >> $GITHUB_ENV
|
||||
|
||||
set -x
|
||||
# Take down any old deployment
|
||||
oc delete all --selector="$SELECTOR"
|
||||
oc new-app --name $APP_NAME --docker-image="$IMAGE"
|
||||
|
||||
# Make sure the app port is exposed
|
||||
oc patch svc $APP_NAME -p "{ \"spec\": { \"ports\": [{ \"name\": \"$PORT-tcp\", \"port\": $PORT }] } }"
|
||||
oc expose service $APP_NAME --port=$PORT
|
||||
|
||||
oc get all --selector="$SELECTOR"
|
||||
set +x
|
||||
|
||||
export ROUTE="$(oc get route $APP_NAME -o jsonpath='{.spec.host}')"
|
||||
echo "$APP_NAME is exposed at $ROUTE"
|
||||
echo "ROUTE=$ROUTE" >> $GITHUB_ENV
|
||||
|
||||
- name: View application route
|
||||
run: |
|
||||
[[ -n ${{ env.ROUTE }} ]] || (echo "Determining application route failed in previous step"; exit 1)
|
||||
echo "======================== Your application is available at: ========================"
|
||||
echo ${{ env.ROUTE }}
|
||||
echo "==================================================================================="
|
||||
echo
|
||||
echo "Your app can be taken down with: \"oc delete all --selector='${{ env.SELECTOR }}'\""
|
||||
@@ -2,9 +2,9 @@ name: PHP Composer
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -17,8 +17,18 @@ jobs:
|
||||
- name: Validate composer.json and composer.lock
|
||||
run: composer validate
|
||||
|
||||
- name: Cache Composer packages
|
||||
id: composer-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: vendor
|
||||
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-php-
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install --prefer-dist --no-progress
|
||||
if: steps.composer-cache.outputs.cache-hit != 'true'
|
||||
run: composer install --prefer-dist --no-progress --no-suggest
|
||||
|
||||
# Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit"
|
||||
# Docs: https://getcomposer.org/doc/articles/scripts.md
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "Ada",
|
||||
"description": "Build Ada project with GPRbuild.",
|
||||
"iconName": "ada",
|
||||
"categories": ["Ada"]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "Deploy to Alibaba Cloud ACK",
|
||||
"description": "Deploy a container to Alibaba Cloud Container Service for Kubernetes (ACK).",
|
||||
"creator": "Alibaba Cloud",
|
||||
"iconName": "alibabacloud",
|
||||
"categories": null
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "Deploy to Amazon ECS",
|
||||
"description": "Deploy a container to an Amazon ECS service powered by AWS Fargate or Amazon EC2.",
|
||||
"creator": "Amazon Web Services",
|
||||
"iconName": "aws",
|
||||
"categories": null
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "Deploy Node.js to Azure Web App",
|
||||
"description": "Build a Node.js project and deploy it to an Azure Web App.",
|
||||
"creator": "Microsoft Azure",
|
||||
"iconName": "azure",
|
||||
"categories": null
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "CMake based projects",
|
||||
"description": "Build and test a CMake based project.",
|
||||
"iconName": "cmake",
|
||||
"categories": ["C", "C++"]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "D",
|
||||
"description": "Build and test a D project with dub.",
|
||||
"iconName": "d",
|
||||
"categories": [ "D" ]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "Deno",
|
||||
"description": "Test your Deno project",
|
||||
"iconName": "deno",
|
||||
"categories": ["JavaScript", "TypeScript", "Deno"]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": ".NET Core",
|
||||
"description": "Build and test a .NET Core or ASP.NET Core project.",
|
||||
"iconName": "dotnetcore",
|
||||
"categories": ["C#", "F#", "Visual Basic", "ASP", "ASP.NET", ".NET"]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": ".NET Desktop",
|
||||
"description": "Build, test, sign and publish a desktop application built on .NET.",
|
||||
"iconName": "dotnet",
|
||||
"categories": ["C#", "Visual Basic", "WPF", ".NET"]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": ".NET",
|
||||
"description": "Build and test a .NET or ASP.NET Core project.",
|
||||
"iconName": "dotnet",
|
||||
"categories": ["C#", "F#", "Visual Basic", "ASP", "ASP.NET", ".NET"]
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "Build and Deploy to GKE",
|
||||
"description": "Build a docker container, publish it to Google Container Registry, and deploy to GKE.",
|
||||
"creator": "Google Cloud",
|
||||
"iconName": "googlegke",
|
||||
"categories": null
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "Build and Deploy to IKS",
|
||||
"description": "Build a docker container, publish it to IBM Container Registry, and deploy to IKS.",
|
||||
"name": "Deploy to IBM Cloud Kubernetes Service",
|
||||
"description": "Build a docker container, publish it to IBM Cloud Container Registry, and deploy to IBM Cloud Kubernetes Service.",
|
||||
"creator": "IBM",
|
||||
"iconName": "ibm",
|
||||
"categories": null
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "iOS",
|
||||
"description": "Build and test an iOS application using xcodebuild and any available iPhone simulator.",
|
||||
"iconName": "xcode",
|
||||
"categories": [
|
||||
"iOS",
|
||||
"Xcode"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "MSBuild based projects",
|
||||
"description": "Build a MSBuild based project.",
|
||||
"iconName": "c-cpp",
|
||||
"categories": ["C", "C++"]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "OpenShift",
|
||||
"description": "Build a Docker-based project and deploy it to OpenShift.",
|
||||
"creator": "Red Hat",
|
||||
"iconName": "openshift",
|
||||
"categories": [ "Dockerfile" ]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "Pylint",
|
||||
"description": "Lint a Python application with pylint.",
|
||||
"iconName": "python",
|
||||
"categories": ["Python"]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "Python Package using Anaconda",
|
||||
"description": "Create and test a Python package on multiple Python versions using Anaconda for package management.",
|
||||
"iconName": "python",
|
||||
"categories": ["Python"]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "R package",
|
||||
"description": "Create and test an R package on multiple R versions.",
|
||||
"iconName": "r",
|
||||
"categories": ["R"]
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "Tencent Kubernetes Engine",
|
||||
"description": "This workflow will build a docker container, publish and deploy it to Tencent Kubernetes Engine (TKE).",
|
||||
"creator": "Tencent Cloud",
|
||||
"iconName": "tencentcloud",
|
||||
"categories": null
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "Terraform",
|
||||
"description": "Set up Terraform CLI in your GitHub Actions workflow.",
|
||||
"creator": "HashiCorp",
|
||||
"iconName": "terraform",
|
||||
"categories": null
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "WPF .NET Core",
|
||||
"description": "Build, test and publish a Wpf application built on .NET Core.",
|
||||
"iconName": "dotnetcore",
|
||||
"categories": ["C#", "Visual Basic", "WPF", ".NET"]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
name: Pylint
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install pylint
|
||||
- name: Analysing the code with pylint
|
||||
run: |
|
||||
pylint `ls -R|grep .py$|xargs`
|
||||
@@ -5,9 +5,9 @@ name: Python application
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -16,10 +16,10 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.8
|
||||
- name: Set up Python 3.9
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.8
|
||||
python-version: 3.9
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
name: Python Package using Conda
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
max-parallel: 5
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Add conda to system path
|
||||
run: |
|
||||
# $CONDA is an environment variable pointing to the root of the miniconda directory
|
||||
echo $CONDA/bin >> $GITHUB_PATH
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
conda env update --file environment.yml --name base
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
conda install flake8
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
||||
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
||||
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
||||
- name: Test with pytest
|
||||
run: |
|
||||
conda install pytest
|
||||
pytest
|
||||
@@ -5,9 +5,9 @@ name: Python package
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -15,7 +15,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [3.5, 3.6, 3.7, 3.8]
|
||||
python-version: [3.7, 3.8, 3.9]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install flake8 pytest
|
||||
python -m pip install flake8 pytest
|
||||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# This workflows will upload a Python Package using Twine when a release is created
|
||||
# This workflow will upload a Python Package using Twine when a release is created
|
||||
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
|
||||
|
||||
name: Upload Python Package
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
#
|
||||
# See https://github.com/r-lib/actions/tree/master/examples#readme for
|
||||
# additional example workflows available for the R community.
|
||||
|
||||
name: R
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macOS-latest
|
||||
strategy:
|
||||
matrix:
|
||||
r-version: [3.5, 3.6]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up R ${{ matrix.r-version }}
|
||||
uses: r-lib/actions/setup-r@ffe45a39586f073cc2e9af79c4ba563b657dc6e3
|
||||
with:
|
||||
r-version: ${{ matrix.r-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
install.packages(c("remotes", "rcmdcheck"))
|
||||
remotes::install_deps(dependencies = TRUE)
|
||||
shell: Rscript {0}
|
||||
- name: Check
|
||||
run: rcmdcheck::rcmdcheck(args = "--no-manual", error_on = "error")
|
||||
shell: Rscript {0}
|
||||
@@ -9,14 +9,17 @@ name: Ruby
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
ruby-version: ['2.6', '2.7', '3.0']
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@@ -24,10 +27,9 @@ jobs:
|
||||
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
||||
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
||||
# uses: ruby/setup-ruby@v1
|
||||
uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
|
||||
uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
|
||||
with:
|
||||
ruby-version: 2.6
|
||||
- name: Install dependencies
|
||||
run: bundle install
|
||||
ruby-version: ${{ matrix.ruby-version }}
|
||||
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
||||
- name: Run tests
|
||||
run: bundle exec rake
|
||||
|
||||
@@ -2,9 +2,12 @@ name: Rust
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -2,9 +2,9 @@ name: Scala CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -2,9 +2,9 @@ name: Swift
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ $default-branch ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This workflow installs the latest version of Terraform CLI and configures the Terraform CLI configuration file
|
||||
# with an API token for Terraform Cloud (app.terraform.io). On pull request events, this workflow will run
|
||||
# `terraform init`, `terraform fmt`, and `terraform plan` (speculative plan via Terraform Cloud). On push events
|
||||
# to the master branch, `terraform apply` will be executed.
|
||||
# to the $default-branch branch, `terraform apply` will be executed.
|
||||
#
|
||||
# Documentation for `hashicorp/setup-terraform` is located here: https://github.com/hashicorp/setup-terraform
|
||||
#
|
||||
@@ -47,7 +47,7 @@ name: 'Terraform'
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- $default-branch
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
@@ -60,12 +60,12 @@ jobs:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
# Checkout the repository to the GitHub Actions runner
|
||||
steps:
|
||||
# Checkout the repository to the GitHub Actions runner
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
|
||||
# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
|
||||
- name: Setup Terraform
|
||||
uses: hashicorp/setup-terraform@v1
|
||||
with:
|
||||
@@ -82,9 +82,9 @@ jobs:
|
||||
# Generates an execution plan for Terraform
|
||||
- name: Terraform Plan
|
||||
run: terraform plan
|
||||
|
||||
# On push to master, build or change infrastructure according to Terraform configuration files
|
||||
|
||||
# On push to $default-branch, build or change infrastructure according to Terraform configuration files
|
||||
# Note: It is recommended to set up a required "strict" status check in your repository for "Terraform Cloud". See the documentation on "strict" required status checks for more information: https://help.github.com/en/github/administering-a-repository/types-of-required-status-checks
|
||||
- name: Terraform Apply
|
||||
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
|
||||
if: github.ref == 'refs/heads/$default-branch' && github.event_name == 'push'
|
||||
run: terraform apply -auto-approve
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
# Code Scanning Workflows
|
||||
|
||||
GitHub code scanning is a developer-first, GitHub-native approach to easily find security vulnerabilities before they reach production. Before you can configure code scanning for a repository, you must enable code scanning by adding a GitHub Actions workflow to the repository. For more information, see [Enabling Code Scanning for a repository](/github/finding-security-vulnerabilities-and-errors-in-your-code/enabling-code-scanning-for-a-repository).
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ $default-branch, $protected-branches ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ $default-branch ]
|
||||
schedule:
|
||||
- cron: $cron-weekly
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ $detected-codeql-languages ]
|
||||
# CodeQL supports [ $supported-codeql-languages ]
|
||||
# Learn more:
|
||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "CodeQL Analysis",
|
||||
"creator": "GitHub",
|
||||
"description": "Security analysis from GitHub for C, C++, C#, Java, JavaScript, TypeScript, Python, and Go developers.",
|
||||
"iconName": "octicon mark-github",
|
||||
"categories": ["Code Scanning", "C", "C#", "C++", "Go", "Java", "JavaScript", "TypeScript", "Python"]
|
||||
}
|
||||
@@ -0,0 +1,283 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="2499.6855"
|
||||
height="2499.6855"
|
||||
viewBox="0 0 2499.6856 2499.6856"
|
||||
xml:space="preserve"
|
||||
id="svg900"
|
||||
sodipodi:docname="ada.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
|
||||
id="metadata906"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs904" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1639"
|
||||
inkscape:window-height="1026"
|
||||
id="namedview902"
|
||||
showgrid="false"
|
||||
fit-margin-top="10"
|
||||
fit-margin-left="10"
|
||||
fit-margin-right="10"
|
||||
fit-margin-bottom="10"
|
||||
inkscape:zoom="0.31791045"
|
||||
inkscape:cx="1244.8642"
|
||||
inkscape:cy="1148.4665"
|
||||
inkscape:window-x="41"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg900" />
|
||||
<style
|
||||
type="text/css"
|
||||
id="style815">
|
||||
path { stroke: #000; fill: #000; }
|
||||
.blue { stroke: none; fill: #001ec8; }
|
||||
.purple { stroke: none; fill: #14127b; }
|
||||
.lace{
|
||||
fill: none;
|
||||
stroke: #000050;
|
||||
stroke-width: 4.56;
|
||||
stroke-linecap: round;
|
||||
stroke-dasharray: 4.56, 9.12;
|
||||
}
|
||||
#beak { stroke-width: 1.4543; }
|
||||
#eye { fill: #fff; }
|
||||
#slogan{
|
||||
font-family: DejaVu Sans, DejaVuSans, sans-serif;
|
||||
font-size: 160px;
|
||||
letter-spacing: 2.058;
|
||||
}
|
||||
</style>
|
||||
<g
|
||||
id="mascot"
|
||||
transform="matrix(0.89154934,0,0,0.90465015,26.993382,126.4591)">
|
||||
<path
|
||||
d="m 1611.977,893.89 c 0,0 9.516,-105.79 218.437,-113.147 176.135,10.486 299.541,181.092 341.412,235.654 0,0 -152.667,101.169 -309.918,-74.527 -181.344,-162.704 -249.931,-47.98 -249.931,-47.98 z"
|
||||
id="path817"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1611.977,893.89 c 0,0 9.516,-105.79 218.437,-113.147 176.135,10.486 299.541,181.092 341.412,235.654 0,0 -152.667,101.169 -309.918,-74.527 -181.344,-162.704 -249.931,-47.98 -249.931,-47.98 z"
|
||||
id="path819"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1609.99,951.172 c 0,0 -17.842,77.477 85.748,137.389 72.271,41.798 31.627,53.267 31.627,53.267 0,0 33.552,6.073 89.941,-45.237 80.09,-72.877 39.384,-130.639 39.384,-130.639 0,0 -84.44,-119.765 -160.184,-28.007 -10e-4,-0.001 -23.964,28.114 -86.516,13.227 z"
|
||||
id="path821"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1609.99,951.172 c 0,0 -17.842,77.477 85.748,137.389 72.271,41.798 31.627,53.267 31.627,53.267 0,0 33.552,6.073 89.941,-45.237 80.09,-72.877 39.384,-130.639 39.384,-130.639 0,0 -84.44,-119.765 -160.184,-28.007 -10e-4,-0.001 -23.964,28.114 -86.516,13.227 z"
|
||||
id="path823"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1886.471,988.581 c 0,0 11.138,114.979 -147.041,163.575 0,0 162.152,-61.352 338.891,89.662 0,0 18.5,-138.54 102.683,-209.607 -9.579,2.773 -141.095,89.481 -294.533,-43.63 z"
|
||||
id="path825"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1886.471,988.581 c 0,0 11.138,114.979 -147.041,163.575 0,0 162.152,-61.352 338.891,89.662 0,0 18.5,-138.54 102.683,-209.607 -9.579,2.773 -141.095,89.481 -294.533,-43.63 z"
|
||||
id="path827"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1620.416,927.717 c 0,0 52.75,50.553 101.022,-46.643 0,0.001 -59.981,-41.814 -101.022,46.643 z"
|
||||
id="path829"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1620.416,927.717 c 0,0 52.75,50.553 101.022,-46.643 0,0.001 -59.981,-41.814 -101.022,46.643 z"
|
||||
id="path831"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
id="eye"
|
||||
d="m 1663.644,906.901 c 1.978,6.592 -1.131,13.3 -6.948,14.985 -5.818,1.685 -12.139,-2.292 -14.12,-8.884 -1.978,-6.589 1.134,-13.297 6.952,-14.982 5.817,-1.685 12.138,2.292 14.116,8.881 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;stroke:#000000" />
|
||||
<path
|
||||
d="m 2425.161,1516.737 c 10.324,-223.678 6.519,-390.567 -146.927,-494.139 -197.333,-224.644 -429.309,-530.796 -380.538,-901.605 35.248,-267.985 54.6,-5.352 54.6,-5.352 0,0 43.629,382.154 187.388,504.897 366.257,323.333 366.683,500.749 285.477,896.199 z"
|
||||
id="path834"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2425.161,1516.737 c 10.324,-223.678 6.519,-390.567 -146.927,-494.139 -197.333,-224.644 -429.309,-530.796 -380.538,-901.605 35.248,-267.985 54.6,-5.352 54.6,-5.352 0,0 43.629,382.154 187.388,504.897 366.257,323.333 366.683,500.749 285.477,896.199 z"
|
||||
id="path836"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1828.757,315.384 c 0,0 52.75,258.796 193.011,419.396 147.362,168.734 110.844,131.4 234.271,285.874 0,0 -13.726,-12.4 -55.464,0.307 0,0 -112.847,-170.83 -224.24,-222.873 0,0 -139.636,-143.078 -161.395,-297.193 -35.334,-250.261 -3.128,-280.036 13.817,-185.511 z"
|
||||
id="path838"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1828.757,315.384 c 0,0 52.75,258.796 193.011,419.396 147.362,168.734 110.844,131.4 234.271,285.874 0,0 -13.726,-12.4 -55.464,0.307 0,0 -112.847,-170.83 -224.24,-222.873 0,0 -139.636,-143.078 -161.395,-297.193 -35.334,-250.261 -3.128,-280.036 13.817,-185.511 z"
|
||||
id="path840"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1948.479,783.247 c 0,0 -125.77,-141.083 -137.986,-179.972 -21.57,-68.681 -29.621,-88.42 -36.591,-29.45 -3.865,32.725 19.875,183.652 86.226,190.548 44.038,4.576 88.351,18.874 88.351,18.874 z"
|
||||
id="path842"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1948.479,783.247 c 0,0 -125.77,-141.083 -137.986,-179.972 -21.57,-68.681 -29.621,-88.42 -36.591,-29.45 -3.865,32.725 19.875,183.652 86.226,190.548 44.038,4.576 88.351,18.874 88.351,18.874 z"
|
||||
id="path844"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 265.722,564.054 c -8.152,108.752 34.836,295.607 94.35,374.47 116.74,238.76 440.318,520.593 886.586,435.668 138.708,-39.579 259.46,24.864 346.052,98.731 83.282,84.862 112.474,99.424 169.505,65.834 -59.141,-57.281 -122.45,-124.229 -121.132,-212.485 4.155,-64.08 27.511,-126.884 68.622,-161.109 -40.588,-142.423 -268.016,-149.301 -369.352,-139.12 -131.23,8.867 -262.996,76.582 -380.2,89.509 C 634.705,1088.895 398.79,864.875 322.157,519.999 289.667,361.155 273.87,455.302 265.722,564.054 Z"
|
||||
id="path846"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 265.722,564.054 c -8.152,108.752 34.836,295.607 94.35,374.47 116.74,238.76 440.318,520.593 886.586,435.668 138.708,-39.579 259.46,24.864 346.052,98.731 83.282,84.862 112.474,99.424 169.505,65.834 -59.141,-57.281 -122.45,-124.229 -121.132,-212.485 4.155,-64.08 27.511,-126.884 68.622,-161.109 -40.588,-142.423 -268.016,-149.301 -369.352,-139.12 -131.23,8.867 -262.996,76.582 -380.2,89.509 C 634.705,1088.895 398.79,864.875 322.157,519.999 289.667,361.155 273.87,455.302 265.722,564.054 Z"
|
||||
id="path848"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 562.838,1304.813 c 230.013,136.835 460.685,181.856 650.958,111.34 0,0 173.715,-105.567 417.032,116.186 0,0 -273.168,145.195 -534.295,135.596 -94.496,-3.474 -390.567,-65.621 -583.404,-262.864 -175.166,-179.173 -177.987,-366.224 -99.331,-247.676 77.492,116.786 149.04,147.418 149.04,147.418 z"
|
||||
id="path850"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 562.838,1304.813 c 230.013,136.835 460.685,181.856 650.958,111.34 0,0 173.715,-105.567 417.032,116.186 0,0 -273.168,145.195 -534.295,135.596 -94.496,-3.474 -390.567,-65.621 -583.404,-262.864 -175.166,-179.173 -177.987,-366.224 -99.331,-247.676 77.492,116.786 149.04,147.418 149.04,147.418 z"
|
||||
id="path852"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 965.398,1707.048 c 335.49,31.676 535.63,-83.299 681.562,-151.143 24.455,174.479 -266.714,305.736 -474.431,287.002 -138.928,-6.75 -333.321,-37.361 -454.117,-163.129 -11.647,-12.125 -91.392,-113.813 36.099,-35.268 82.58,39.237 141.487,48.613 210.887,62.538 z"
|
||||
id="path854"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 965.398,1707.048 c 335.49,31.676 535.63,-83.299 681.562,-151.143 24.455,174.479 -266.714,305.736 -474.431,287.002 -138.928,-6.75 -333.321,-37.361 -454.117,-163.129 -11.647,-12.125 -91.392,-113.813 36.099,-35.268 82.58,39.237 141.487,48.613 210.887,62.538 z"
|
||||
id="path856"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1684.492,1568.591 c 63.313,127.972 114.759,155.246 291.324,232.417 107.66,49.228 142.959,77.509 117.842,122.341 0,0 133.856,-71.649 196.353,-165.761 0,0 -339.162,-60.108 -515.42,-210.421 -44.607,36.702 -90.099,21.424 -90.099,21.424 z"
|
||||
id="path858"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1684.492,1568.591 c 63.313,127.972 114.759,155.246 291.324,232.417 107.66,49.228 142.959,77.509 117.842,122.341 0,0 133.856,-71.649 196.353,-165.761 0,0 -339.162,-60.108 -515.42,-210.421 -44.607,36.702 -90.099,21.424 -90.099,21.424 z"
|
||||
id="path860"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1670.934,1581.267 c 0,0 5.497,149.755 -207.863,248.039 -153.561,70.739 39.722,44.073 138.258,-3.812 101.34,-49.249 123.406,-118.457 108.874,-175.288 -11.095,-43.385 -28.16,-56.93 -39.269,-68.939 z"
|
||||
id="path862"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1670.934,1581.267 c 0,0 5.497,149.755 -207.863,248.039 -153.561,70.739 39.722,44.073 138.258,-3.812 101.34,-49.249 123.406,-118.457 108.874,-175.288 -11.095,-43.385 -28.16,-56.93 -39.269,-68.939 z"
|
||||
id="path864"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2421.78,1531.324 c 0,0 -61.757,173.345 -118.533,221.491 0,0 36.291,8.63 49.189,85.811 36.989,-90.593 69.344,-307.302 69.344,-307.302 z"
|
||||
id="path866"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2421.78,1531.324 c 0,0 -61.757,173.345 -118.533,221.491 0,0 36.291,8.63 49.189,85.811 36.989,-90.593 69.344,-307.302 69.344,-307.302 z"
|
||||
id="path868"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2298.067,1774.257 c 0,0 60.485,207.06 -215.383,436.233 -121.197,100.688 -246.916,149.312 -391.878,178.315 0,0 -287.012,47.125 -352.704,-156.11 0,0 58.862,34.805 211.641,24.406 430.153,-29.275 709.851,-266.408 748.324,-482.844 z"
|
||||
id="path870"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2298.067,1774.257 c 0,0 60.485,207.06 -215.383,436.233 -121.197,100.688 -246.916,149.312 -391.878,178.315 0,0 -287.012,47.125 -352.704,-156.11 0,0 58.862,34.805 211.641,24.406 430.153,-29.275 709.851,-266.408 748.324,-482.844 z"
|
||||
id="path872"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1496.487,2128.527 c 0,0 38.184,92.072 159.839,90.203 210.235,-3.234 551.609,-189.684 614.506,-413.938 0,0 -176.721,209.97 -498.868,285.338 -209.259,48.955 -275.477,38.397 -275.477,38.397 z"
|
||||
id="path874"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 1496.487,2128.527 c 0,0 38.184,92.072 159.839,90.203 210.235,-3.234 551.609,-189.684 614.506,-413.938 0,0 -176.721,209.97 -498.868,285.338 -209.259,48.955 -275.477,38.397 -275.477,38.397 z"
|
||||
id="path876"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2319.562,1784.373 c 67.984,66.106 49.556,575.534 -455.449,704.963 0,0 -201.498,64.398 -354.49,-55.349 201.174,25.111 498.821,-106.314 617.34,-227.303 131.909,-134.655 211.685,-272.923 192.599,-422.311 z"
|
||||
id="path878"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 2319.562,1784.373 c 67.984,66.106 49.556,575.534 -455.449,704.963 0,0 -201.498,64.398 -354.49,-55.349 201.174,25.111 498.821,-106.314 617.34,-227.303 131.909,-134.655 211.685,-272.923 192.599,-422.311 z"
|
||||
id="path880"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
d="m 947.427,945.126 c 251.781,-104.964 473.12,-102.836 658.46,-50.581 0,0 -8.138,17.765 -24.361,13.907 -5.711,-1.357 1.667,12.11 26.509,40.646 -188.827,-76.332 -414.26,-62.7 -660.608,-3.972 z"
|
||||
id="path882"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000" />
|
||||
<path
|
||||
id="beak"
|
||||
d="m 947.427,945.126 c 251.781,-104.964 473.12,-102.836 658.46,-50.581 0,0 -8.138,17.765 -24.361,13.907 -5.711,-1.357 1.667,12.11 26.509,40.646 -188.827,-76.332 -414.26,-62.7 -660.608,-3.972 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:1.45430005" />
|
||||
<path
|
||||
class="blue"
|
||||
d="m 2072.565,1258.561 c 0,0 -40.71,-39.82 -105.351,-69.183 -32.318,-14.681 -73.917,-29.034 -112.812,-29.92 -47.728,-1.085 -90.031,-8.288 -139.967,30.381 -161.914,198.937 48.743,442.226 554.504,543.472 -53.728,-4.627 -636.817,-584.716 -196.374,-474.75 z"
|
||||
id="path885"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#001ec8;stroke:none" />
|
||||
<path
|
||||
class="lace"
|
||||
d="m 2072.565,1258.561 c 0,0 -40.71,-39.82 -105.351,-69.183 -32.318,-14.681 -73.917,-29.034 -112.812,-29.92 -47.728,-1.085 -90.031,-8.288 -139.967,30.381 -161.914,198.937 48.743,442.226 554.504,543.472 -53.728,-4.627 -636.817,-584.716 -196.374,-474.75 z"
|
||||
id="path887"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#000050;stroke-width:4.55999994;stroke-linecap:round;stroke-dasharray:4.56, 9.12" />
|
||||
<path
|
||||
class="blue"
|
||||
d="m 2089,1250.758 c 0,0 6.621,-47.435 31.076,-105.404 24.456,-57.972 69.361,-122.52 135.318,-108.428 99.035,38.683 198.1,202.659 144.854,504.171 -27.158,96.066 -92.941,186.513 -92.941,186.513 11.774,2.201 -14.852,-880.663 -218.307,-476.852 z"
|
||||
id="path889"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#001ec8;stroke:none" />
|
||||
<path
|
||||
class="lace"
|
||||
d="m 2089,1250.758 c 0,0 6.621,-47.435 31.076,-105.404 24.456,-57.972 69.361,-122.52 135.318,-108.428 99.035,38.683 198.1,202.659 144.854,504.171 -27.158,96.066 -92.941,186.513 -92.941,186.513 11.774,2.201 -14.852,-880.663 -218.307,-476.852 z"
|
||||
id="path891"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#000050;stroke-width:4.55999994;stroke-linecap:round;stroke-dasharray:4.56, 9.12" />
|
||||
<path
|
||||
class="purple"
|
||||
d="m 2093.633,1281.527 c -180.681,-66.114 -247.607,81.789 206.231,465.208 -9.578,-211.528 -48.209,-785.232 -206.231,-465.208 z"
|
||||
id="path893"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#14127b;stroke:none" />
|
||||
<path
|
||||
class="lace"
|
||||
d="m 2093.633,1281.527 c -180.681,-66.114 -247.607,81.789 206.231,465.208 -9.578,-211.528 -48.209,-785.232 -206.231,-465.208 z"
|
||||
id="path895"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#000050;stroke-width:4.55999994;stroke-linecap:round;stroke-dasharray:4.56, 9.12" />
|
||||
</g>
|
||||
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1 @@
|
||||
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 113.39 113.39"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#ff6a00;}</style></defs><title>AlibabacloudLogoGithub</title><circle class="cls-1" cx="56.69" cy="56.69" r="56.69"/><rect class="cls-2" x="45.85" y="54.14" width="21.69" height="4.89"/><path class="cls-2" d="M78.4,36.4H64.05l3.47,4.9L78,44.5a4.54,4.54,0,0,1,3.16,4.35h0V64.53h0A4.52,4.52,0,0,1,78,68.88L67.52,72.09,64.05,77H78.4A10.84,10.84,0,0,0,89.24,66.15V47.24A10.84,10.84,0,0,0,78.4,36.4Z"/><path class="cls-2" d="M35,36.4H49.33l-3.46,4.9L35.41,44.5a4.52,4.52,0,0,0-3.16,4.35h0V64.53h0a4.51,4.51,0,0,0,3.16,4.34l10.46,3.21L49.33,77H35A10.84,10.84,0,0,1,24.14,66.15V47.24A10.84,10.84,0,0,1,35,36.4Z"/></svg>
|
||||
|
After Width: | Height: | Size: 757 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="302" height="180" viewBox="0 0 302 180"><g fill="none"><path fill="#252F3E" d="M85.4 65.4c0 3.7.4 6.7 1.1 8.9.8 2.2 1.8 4.6 3.2 7.2.5.8.7 1.6.7 2.3 0 1-.6 2-1.9 3L82.2 91c-.9.6-1.8.9-2.6.9-1 0-2-.5-3-1.4-1.4-1.5-2.6-3.1-3.6-4.7-1-1.7-2-3.6-3.1-5.9-7.8 9.2-17.6 13.8-29.4 13.8-8.4 0-15.1-2.4-20-7.2-4.9-4.8-7.4-11.2-7.4-19.2 0-8.5 3-15.4 9.1-20.6 6.1-5.2 14.2-7.8 24.5-7.8 3.4 0 6.9.3 10.6.8 3.7.5 7.5 1.3 11.5 2.2v-7.3c0-7.6-1.6-12.9-4.7-16-3.2-3.1-8.6-4.6-16.3-4.6-3.5 0-7.1.4-10.8 1.3-3.7.9-7.3 2-10.8 3.4-1.6.7-2.8 1.1-3.5 1.3-.7.2-1.2.3-1.6.3-1.4 0-2.1-1-2.1-3.1v-4.9c0-1.6.2-2.8.7-3.5.5-.7 1.4-1.4 2.8-2.1 3.5-1.8 7.7-3.3 12.6-4.5C40 .9 45.2.3 50.7.3 62.6.3 71.3 3 76.9 8.4c5.5 5.4 8.3 13.6 8.3 24.6v32.4h.2zM44.8 80.6c3.3 0 6.7-.6 10.3-1.8 3.6-1.2 6.8-3.4 9.5-6.4 1.6-1.9 2.8-4 3.4-6.4.6-2.4 1-5.3 1-8.7v-4.2c-2.9-.7-6-1.3-9.2-1.7-3.2-.4-6.3-.6-9.4-.6-6.7 0-11.6 1.3-14.9 4-3.3 2.7-4.9 6.5-4.9 11.5 0 4.7 1.2 8.2 3.7 10.6 2.4 2.5 5.9 3.7 10.5 3.7zm80.3 10.8c-1.8 0-3-.3-3.8-1-.8-.6-1.5-2-2.1-3.9L95.7 9.2c-.6-2-.9-3.3-.9-4 0-1.6.8-2.5 2.4-2.5h9.8c1.9 0 3.2.3 3.9 1 .8.6 1.4 2 2 3.9l16.8 66.2 15.6-66.2c.5-2 1.1-3.3 1.9-3.9.8-.6 2.2-1 4-1h8c1.9 0 3.2.3 4 1 .8.6 1.5 2 1.9 3.9l15.8 67 17.3-67c.6-2 1.3-3.3 2-3.9.8-.6 2.1-1 3.9-1h9.3c1.6 0 2.5.8 2.5 2.5 0 .5-.1 1-.2 1.6-.1.6-.3 1.4-.7 2.5l-24.1 77.3c-.6 2-1.3 3.3-2.1 3.9-.8.6-2.1 1-3.8 1h-8.6c-1.9 0-3.2-.3-4-1-.8-.7-1.5-2-1.9-4L155 22l-15.4 64.4c-.5 2-1.1 3.3-1.9 4-.8.7-2.2 1-4 1h-8.6zm128.5 2.7c-5.2 0-10.4-.6-15.4-1.8-5-1.2-8.9-2.5-11.5-4-1.6-.9-2.7-1.9-3.1-2.8-.4-.9-.6-1.9-.6-2.8v-5.1c0-2.1.8-3.1 2.3-3.1.6 0 1.2.1 1.8.3.6.2 1.5.6 2.5 1 3.4 1.5 7.1 2.7 11 3.5 4 .8 7.9 1.2 11.9 1.2 6.3 0 11.2-1.1 14.6-3.3 3.4-2.2 5.2-5.4 5.2-9.5 0-2.8-.9-5.1-2.7-7-1.8-1.9-5.2-3.6-10.1-5.2L245 51c-7.3-2.3-12.7-5.7-16-10.2-3.3-4.4-5-9.3-5-14.5 0-4.2.9-7.9 2.7-11.1 1.8-3.2 4.2-6 7.2-8.2 3-2.3 6.4-4 10.4-5.2 4-1.2 8.2-1.7 12.6-1.7 2.2 0 4.5.1 6.7.4 2.3.3 4.4.7 6.5 1.1 2 .5 3.9 1 5.7 1.6 1.8.6 3.2 1.2 4.2 1.8 1.4.8 2.4 1.6 3 2.5.6.8.9 1.9.9 3.3v4.7c0 2.1-.8 3.2-2.3 3.2-.8 0-2.1-.4-3.8-1.2-5.7-2.6-12.1-3.9-19.2-3.9-5.7 0-10.2.9-13.3 2.8-3.1 1.9-4.7 4.8-4.7 8.9 0 2.8 1 5.2 3 7.1 2 1.9 5.7 3.8 11 5.5l14.2 4.5c7.2 2.3 12.4 5.5 15.5 9.6 3.1 4.1 4.6 8.8 4.6 14 0 4.3-.9 8.2-2.6 11.6-1.8 3.4-4.2 6.4-7.3 8.8-3.1 2.5-6.8 4.3-11.1 5.6-4.5 1.4-9.2 2.1-14.3 2.1z"/><g fill="#F90"><path d="M272.5 142.7c-32.9 24.3-80.7 37.2-121.8 37.2-57.6 0-109.5-21.3-148.7-56.7-3.1-2.8-.3-6.6 3.4-4.4 42.4 24.6 94.7 39.5 148.8 39.5 36.5 0 76.6-7.6 113.5-23.2 5.5-2.5 10.2 3.6 4.8 7.6z"/><path d="M286.2 127.1c-4.2-5.4-27.8-2.6-38.5-1.3-3.2.4-3.7-2.4-.8-4.5 18.8-13.2 49.7-9.4 53.3-5 3.6 4.5-1 35.4-18.6 50.2-2.7 2.3-5.3 1.1-4.1-1.9 4-9.9 12.9-32.2 8.7-37.5z"/></g></g></svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1 @@
|
||||
<svg height="1995" viewBox="0 0 161.67 129" width="2500" xmlns="http://www.w3.org/2000/svg"><path d="m88.33 0-47.66 41.33-40.67 73h36.67zm6.34 9.67-20.34 57.33 39 49-75.66 13h124z" fill="#0072c6"/></svg>
|
||||
|
After Width: | Height: | Size: 203 B |
@@ -0,0 +1,493 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg2816"
|
||||
version="1.1"
|
||||
inkscape:version="0.47 r22583"
|
||||
width="2072"
|
||||
height="2072"
|
||||
sodipodi:docname="Cmake.svg">
|
||||
<metadata
|
||||
id="metadata2822">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs2820">
|
||||
<linearGradient
|
||||
id="linearGradient4276">
|
||||
<stop
|
||||
style="stop-color:#32691d;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4278" />
|
||||
<stop
|
||||
id="stop4280"
|
||||
offset="0.02012207"
|
||||
style="stop-color:#01d200;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4282" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4227">
|
||||
<stop
|
||||
style="stop-color:#ebebec;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4229" />
|
||||
<stop
|
||||
id="stop4231"
|
||||
offset="0.00518292"
|
||||
style="stop-color:#d3d3d3;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4233" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4129">
|
||||
<stop
|
||||
id="stop4131"
|
||||
offset="0"
|
||||
style="stop-color:#cbf595;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#01da00;stop-opacity:0"
|
||||
offset="0.01826929"
|
||||
id="stop4133" />
|
||||
<stop
|
||||
id="stop4135"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4039">
|
||||
<stop
|
||||
style="stop-color:#321e1d;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4041" />
|
||||
<stop
|
||||
id="stop4043"
|
||||
offset="0.01546729"
|
||||
style="stop-color:#555548;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4045" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3990">
|
||||
<stop
|
||||
style="stop-color:#321e1d;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop3992" />
|
||||
<stop
|
||||
id="stop3994"
|
||||
offset="0.02012207"
|
||||
style="stop-color:#5a5bd7;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3996" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3941">
|
||||
<stop
|
||||
id="stop3943"
|
||||
offset="0"
|
||||
style="stop-color:#f6b1b2;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#c51f1f;stop-opacity:0"
|
||||
offset="0.02821624"
|
||||
id="stop3945" />
|
||||
<stop
|
||||
id="stop3947"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3851">
|
||||
<stop
|
||||
id="stop3853"
|
||||
offset="0"
|
||||
style="stop-color:#321e1d;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#555548;stop-opacity:0"
|
||||
offset="0.02012207"
|
||||
id="stop3855" />
|
||||
<stop
|
||||
id="stop3857"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3800">
|
||||
<stop
|
||||
style="stop-color:#cbcaf2;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop3802" />
|
||||
<stop
|
||||
id="stop3808"
|
||||
offset="0.02636753"
|
||||
style="stop-color:#5555d2;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3804" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3715">
|
||||
<stop
|
||||
style="stop-color:#848484;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop3717" />
|
||||
<stop
|
||||
style="stop-color:#d2d2d2;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop3719" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3669">
|
||||
<stop
|
||||
style="stop-color:#01a300;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop3671" />
|
||||
<stop
|
||||
style="stop-color:#01df00;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop3673" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3653">
|
||||
<stop
|
||||
style="stop-color:#b40e0e;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop3655" />
|
||||
<stop
|
||||
style="stop-color:#ff5959;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop3657" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3645">
|
||||
<stop
|
||||
style="stop-color:#1011a1;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop3647" />
|
||||
<stop
|
||||
style="stop-color:#6969e1;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop3649" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3645"
|
||||
id="linearGradient3651"
|
||||
x1="-1527.3507"
|
||||
y1="1387.5206"
|
||||
x2="-1086.1161"
|
||||
y2="454.13968"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(2104,48)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3653"
|
||||
id="linearGradient3659"
|
||||
x1="-933.38092"
|
||||
y1="680.41388"
|
||||
x2="-316.78384"
|
||||
y2="1721.275"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(2104,48)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3669"
|
||||
id="linearGradient3675"
|
||||
x1="-678.82251"
|
||||
y1="1794.8141"
|
||||
x2="-1549.978"
|
||||
y2="1721.275"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(2104,48)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3715"
|
||||
id="linearGradient3721"
|
||||
x1="-984.2926"
|
||||
y1="1472.3735"
|
||||
x2="-995.60632"
|
||||
y2="1093.3643"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(2104,48)" />
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
id="filter3777">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="9.0766588"
|
||||
id="feGaussianBlur3779" />
|
||||
</filter>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3800"
|
||||
id="linearGradient3806"
|
||||
x1="-1238.0465"
|
||||
y1="919.71448"
|
||||
x2="-555.82379"
|
||||
y2="917.51282"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.9188939,0.98349385,-0.45611308,0.88992183,3476.0418,1285.266)" />
|
||||
<linearGradient
|
||||
y2="913.40582"
|
||||
x2="-552.84039"
|
||||
y1="919.71448"
|
||||
x1="-1238.0465"
|
||||
gradientTransform="matrix(-1.9407023,0.93972781,-0.43581582,-0.90003588,-412.21511,3168.6506)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3828"
|
||||
xlink:href="#linearGradient3851"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
id="linearGradient3851-6">
|
||||
<stop
|
||||
id="stop3853-2"
|
||||
offset="0"
|
||||
style="stop-color:#321e1d;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#555548;stop-opacity:0"
|
||||
offset="0.02012207"
|
||||
id="stop3855-4" />
|
||||
<stop
|
||||
id="stop3857-5"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="915.30005"
|
||||
x2="-555.83728"
|
||||
y1="919.71448"
|
||||
x1="-1238.0465"
|
||||
gradientTransform="matrix(0.02700295,-2.1560608,0.90368745,0.01314507,114.37039,-755.42907)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3877"
|
||||
xlink:href="#linearGradient3851-6"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
y2="917.6181"
|
||||
x2="-554.89746"
|
||||
y1="919.71448"
|
||||
x1="-1238.0465"
|
||||
gradientTransform="matrix(3.1362513,0.00261809,0.06431073,0.7601511,4936.1356,68.133286)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3918"
|
||||
xlink:href="#linearGradient3941"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
y2="917.51282"
|
||||
x2="-555.82379"
|
||||
y1="918.44379"
|
||||
x1="-1229.327"
|
||||
gradientTransform="matrix(-2.1510215,-0.07025797,-0.03821188,-0.48210687,-1498.469,1058.0104)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3967"
|
||||
xlink:href="#linearGradient3990"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
y2="917.51282"
|
||||
x2="-555.82379"
|
||||
y1="920.41797"
|
||||
x1="-1237.1112"
|
||||
gradientTransform="matrix(-1.3798164,-1.6569612,0.7684458,-0.63991489,-2195.6367,413.8935)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient4016"
|
||||
xlink:href="#linearGradient4039"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
id="linearGradient3851-62">
|
||||
<stop
|
||||
id="stop3853-38"
|
||||
offset="0"
|
||||
style="stop-color:#321e1d;stop-opacity:1" />
|
||||
<stop
|
||||
style="stop-color:#555548;stop-opacity:0"
|
||||
offset="0.01739271"
|
||||
id="stop3855-2" />
|
||||
<stop
|
||||
id="stop3857-62"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="910.64618"
|
||||
x2="-551.12549"
|
||||
y1="915.73645"
|
||||
x1="-1242.2334"
|
||||
gradientTransform="matrix(0.85312044,-1.9803029,0.91840135,0.39565006,2182.2918,-885.93458)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient4065"
|
||||
xlink:href="#linearGradient3851-62"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
y2="915.4801"
|
||||
x2="-555.86682"
|
||||
y1="919.71448"
|
||||
x1="-1238.0465"
|
||||
gradientTransform="matrix(1.3829904,1.654313,-0.7672176,0.6413869,2529.8389,3432.8719)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient4106"
|
||||
xlink:href="#linearGradient4129"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
y2="917.18665"
|
||||
x2="-866.86804"
|
||||
y1="918.09875"
|
||||
x1="-1242.5582"
|
||||
gradientTransform="matrix(1.3829904,1.654313,-0.7672176,0.6413869,2930.535,3096.9376)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient4196"
|
||||
xlink:href="#linearGradient4227"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
y2="917.51282"
|
||||
x2="-555.82379"
|
||||
y1="919.71448"
|
||||
x1="-1238.0465"
|
||||
gradientTransform="matrix(-0.83179183,1.989334,-0.83312221,-0.35033011,1447.5752,4603.6836)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient4253"
|
||||
xlink:href="#linearGradient4276"
|
||||
inkscape:collect="always" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="750"
|
||||
id="namedview2818"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.25"
|
||||
inkscape:cx="668.45545"
|
||||
inkscape:cy="769.26341"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2816"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true" />
|
||||
<g
|
||||
id="g3668">
|
||||
<path
|
||||
sodipodi:nodetypes="ccccccc"
|
||||
id="path2831-1"
|
||||
d="m 1971.5575,1939.9137 -1797.08691,-0.1258 c -11.0291,-1.2221 -8.5403,-6.713 -5.9958,-12.2215 L 1069.3546,128.0808 c 3.3139,-5.2772 6.2883,-4.4372 9.0861,-0.4108 l 900.8561,1799.4363 c 4.5781,9.1667 1.5811,13.1503 -7.7393,12.8074 z"
|
||||
style="fill:none;stroke:#3a393b;stroke-width:22.50000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;filter:url(#filter3777);opacity:0.53974895" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path2828"
|
||||
d="M 1143.3083,1084.3217 158.69119,1926.0618 1060.5107,124.10214 1143.3083,1084.3217 z"
|
||||
style="fill:url(#linearGradient3651);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
id="rect3781"
|
||||
d="m 1060.5637,125.61959 c 13.4152,80.71591 11.94,94.79031 -18.0349,140.07316 L 245.92029,1844.832 161.31739,1921.7588 1060.5637,125.61959 z"
|
||||
style="fill:url(#linearGradient3806);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
id="rect3781-0-9"
|
||||
d="m 1147.188,1083.1536 -50.1671,40.0537 -52.7887,-888.7261 c -4.0533,-47.4341 -6.2416,-43.17076 -6.5492,-68.17004 l 25.1004,-48.95208 84.4046,965.79452 z"
|
||||
style="fill:url(#linearGradient3967);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path2828-4"
|
||||
d="M 1188.9362,1609.9939 1060.9788,123.94021 1963.9529,1926.2261 1188.9362,1609.9939 z"
|
||||
style="fill:url(#linearGradient3659);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
id="rect3781-9"
|
||||
d="m 1060.9071,120.07731 c 24.1749,30.04558 39.608,75.93991 48.9654,112.17843 l 179.3742,1415.10436 -98.4276,-38.4391 -129.912,-1488.84369 z"
|
||||
style="fill:url(#linearGradient3918);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path2828-1"
|
||||
d="M 743.40929,1423.8349 1964.8794,1926.0085 158.92799,1925.81 743.40929,1423.8349 z"
|
||||
style="fill:url(#linearGradient3675);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
id="rect3781-0"
|
||||
d="m 1963.6891,1926.5277 -56.7139,-24.6169 -795.9854,-1603.05217 c -21.9472,-24.37845 -34.3449,-39.62306 -41.2192,-51.95192 -1.1264,-32.3188 -2.943,-61.0813 -9.9138,-126.2626 l 903.8323,1805.88359 z"
|
||||
style="fill:url(#linearGradient3828);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
id="path2828-4-7"
|
||||
d="m 745.26609,1425.0475 397.42281,-339.0381 55.3298,523.5716 -452.75261,-184.5335 z"
|
||||
style="fill:url(#linearGradient3721);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:4;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:transform-center-y="624.859"
|
||||
inkscape:transform-center-x="758.12355"
|
||||
sodipodi:nodetypes="cccccc"
|
||||
id="rect3781-8"
|
||||
d="m 742.72829,1426.2554 c 17.4821,6.7504 20.8419,8.2827 35.806,14.4205 -16.1593,13.8305 -69.88,86.4885 -91.4281,103.8499 l -428.4072,362.6992 -98.8195,18.3883 582.8488,-499.3579 z"
|
||||
style="fill:url(#linearGradient4106);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
inkscape:transform-center-y="347.22075"
|
||||
inkscape:transform-center-x="-821.22079"
|
||||
sodipodi:nodetypes="cccccc"
|
||||
id="rect3781-0-8-6"
|
||||
d="m 1962.8676,1925.4594 -68.0643,-1.0486 -1174.86681,-479.6332 23.5048,-18.7167 470.76241,191.9416 748.6639,307.4569 z"
|
||||
style="fill:url(#linearGradient4253);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
id="rect3781-0-8"
|
||||
d="m 159.98259,1925.4405 50.2958,-42.8864 1643.00831,0.1531 110.3276,42.727 -1803.63171,0.01 z"
|
||||
style="fill:url(#linearGradient3877);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
inkscape:transform-center-y="369.96725"
|
||||
inkscape:transform-center-x="-887.51544"
|
||||
sodipodi:nodetypes="ccccccc"
|
||||
id="rect3781-0-7"
|
||||
d="m 1199.8469,1610.9874 -2.1608,-22.3386 610.5884,235.1678 c 39.4555,18.7661 69.1058,27.2993 88.8249,43.327 12.6947,5.2081 34.7241,12.6345 46.1135,16.4736 13.9264,9.2219 11.5065,23.9583 20.3177,41.5431 l -763.6837,-314.1729 z"
|
||||
style="fill:url(#linearGradient4065);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccccc"
|
||||
id="path2831"
|
||||
d="m 1958.5868,1931.807 -1797.08691,-0.1258 c -11.0291,-1.2221 -8.5403,-6.713 -5.9958,-12.2215 L 1056.3839,119.97408 c 3.3139,-5.27718 6.2883,-4.43721 9.0861,-0.4108 l 900.8561,1799.43632 c 4.5781,9.1667 1.5811,13.1503 -7.7393,12.8074 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:12.19999981;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
id="rect3781-0-98"
|
||||
d="m 160.09059,1924.1505 25.5248,-54.5322 52.0681,-38.5691 899.32641,-780.8749 c 4.7998,18.518 1.8803,6.9336 6.1315,33.989 l -983.05081,839.9872 z"
|
||||
style="fill:url(#linearGradient4016);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
inkscape:transform-center-y="624.859"
|
||||
inkscape:transform-center-x="758.12355"
|
||||
sodipodi:nodetypes="ccccc"
|
||||
id="rect3781-8-2"
|
||||
d="m 1141.0494,1090.571 c -7.8922,86.6075 -17.7158,81.5443 -53.2471,118.0205 l -263.40721,244.6992 -74.9445,-29.2367 391.59881,-333.483 z"
|
||||
style="fill:url(#linearGradient4196);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1,216 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
version="1.0"
|
||||
width="49.544645"
|
||||
height="37.5"
|
||||
viewBox="0 0 123.86523 93.752739"
|
||||
id="svg2">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient3482">
|
||||
<stop
|
||||
id="stop3484"
|
||||
style="stop-color:#000000;stop-opacity:0.19791667"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3486"
|
||||
style="stop-color:#000000;stop-opacity:0.82291669"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3456">
|
||||
<stop
|
||||
id="stop3458"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3460"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33333334"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3420">
|
||||
<stop
|
||||
id="stop3430"
|
||||
style="stop-color:#f2f2f0;stop-opacity:0.13541667"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3424"
|
||||
style="stop-color:#eeeeec;stop-opacity:0.39583334"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3360">
|
||||
<stop
|
||||
id="stop3362"
|
||||
style="stop-color:#eeeeec;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3364"
|
||||
style="stop-color:#eeeeec;stop-opacity:0"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3307">
|
||||
<stop
|
||||
id="stop3309"
|
||||
style="stop-color:#a5d8ff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3311"
|
||||
style="stop-color:#003845;stop-opacity:1"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient3299">
|
||||
<stop
|
||||
id="stop3301"
|
||||
style="stop-color:#ffffff;stop-opacity:1"
|
||||
offset="0" />
|
||||
<stop
|
||||
id="stop3303"
|
||||
style="stop-color:#979797;stop-opacity:0.57291669"
|
||||
offset="1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
x1="27.247862"
|
||||
y1="33.562527"
|
||||
x2="44.49588"
|
||||
y2="47.030663"
|
||||
id="linearGradient3426"
|
||||
xlink:href="#linearGradient3420"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,0.991763,-0.677924,0.501242)"
|
||||
spreadMethod="reflect" />
|
||||
<linearGradient
|
||||
x1="24.48222"
|
||||
y1="30.993589"
|
||||
x2="104.02448"
|
||||
y2="90.718597"
|
||||
id="linearGradient3462"
|
||||
xlink:href="#linearGradient3456"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.99719,0,0,0.988716,-0.49737,0.686728)" />
|
||||
<linearGradient
|
||||
x1="49.344894"
|
||||
y1="57.756798"
|
||||
x2="79.688202"
|
||||
y2="83.106018"
|
||||
id="linearGradient3488"
|
||||
xlink:href="#linearGradient3482"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<linearGradient
|
||||
x1="27.247862"
|
||||
y1="33.562527"
|
||||
x2="44.49588"
|
||||
y2="47.030663"
|
||||
id="linearGradient2213"
|
||||
xlink:href="#linearGradient3420"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,-0.991763,-0.677924,121.0142)"
|
||||
spreadMethod="reflect" />
|
||||
<linearGradient
|
||||
x1="27.247862"
|
||||
y1="33.562527"
|
||||
x2="44.49588"
|
||||
y2="47.030663"
|
||||
id="linearGradient2232"
|
||||
xlink:href="#linearGradient3420"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,-0.991763,-0.677924,121.0142)"
|
||||
spreadMethod="reflect" />
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(-2.9819053,-15.753182)"
|
||||
id="layer1">
|
||||
<g
|
||||
transform="matrix(1.475092,0,0,1.475092,-30.36508,-28.63879)"
|
||||
id="g2225"
|
||||
style="display:inline">
|
||||
<rect
|
||||
width="80.581573"
|
||||
height="60.167591"
|
||||
rx="7.6942425"
|
||||
ry="8.5425425"
|
||||
x="25.996332"
|
||||
y="33.483997"
|
||||
id="rect3466"
|
||||
style="fill:#2e3436;fill-opacity:0.2745098;fill-rule:nonzero;stroke:none" />
|
||||
<rect
|
||||
width="80.581573"
|
||||
height="60.167591"
|
||||
rx="7.6942425"
|
||||
ry="8.5425425"
|
||||
x="23.284639"
|
||||
y="30.772299"
|
||||
id="rect3297"
|
||||
style="fill:#a40000;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<rect
|
||||
width="74.010971"
|
||||
height="54.137524"
|
||||
rx="5.2214007"
|
||||
ry="5.6200938"
|
||||
x="26.569939"
|
||||
y="33.787331"
|
||||
id="rect3408"
|
||||
style="fill:url(#linearGradient3426);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
d="m 32.333318,39.18804 c -0.810423,0.100191 -1.445546,0.747081 -1.448237,1.530008 l 0.05115,39.976517 c -0.0033,0.05702 -0.0032,0.117055 2.23e-4,0.174065 -0.0093,0.0949 -0.0092,0.175886 3.47e-4,0.270764 -8.2e-5,0.0095 -5.8e-5,0.02917 4.9e-5,0.03868 0.0087,0.03837 0.0298,0.07834 0.04158,0.115983 -8.1e-5,0.0095 -8.1e-5,0.0098 2.5e-5,0.01934 0.0087,0.03838 0.0091,0.07837 0.02087,0.116011 -8.3e-5,0.0095 -5.7e-5,0.02917 4.9e-5,0.03868 0.01873,0.03878 0.04021,0.07874 0.0623,0.115951 -8e-5,0.0095 -8.1e-5,0.0098 2.5e-5,0.01934 0.02872,0.03929 0.07126,0.07924 0.103734,0.115892 -8.2e-5,0.0095 -8.2e-5,0.0098 2.4e-5,0.01934 0.01873,0.03878 0.04021,0.07875 0.0623,0.115952 -8.2e-5,0.0095 -5.7e-5,0.02917 4.9e-5,0.03868 0.03935,0.03021 0.08223,0.05048 0.124402,0.07718 -8.3e-5,0.0095 -5.7e-5,0.02917 4.9e-5,0.03868 0.02939,0.02959 0.05119,0.04989 0.08297,0.07724 0.01007,0.0096 0.03115,0.02925 0.04148,0.03862 0.02939,0.02959 0.05119,0.04989 0.08297,0.07724 0.01018,7.1e-5 0.01053,7.3e-5 0.02072,-3e-5 0.07575,0.06385 0.161798,0.123919 0.248826,0.173699 0.01019,7e-5 0.03125,4.4e-5 0.04143,-6e-5 0.03991,0.02052 0.08278,0.04046 0.124377,0.05784 0.01018,7e-5 0.01053,7.1e-5 0.02072,-2.9e-5 0.03992,0.02052 0.08279,0.04046 0.124376,0.05784 0.06051,0.01261 0.124828,0.01286 0.186479,0.01907 0.100723,0.01817 0.208212,0.03772 0.310804,0.03823 l 0.165737,-2.42e-4 15.309845,-0.06107 c 4.376235,-0.0078 7.307373,-0.08265 9.052976,-0.303342 0.01019,7.1e-5 0.03125,4.2e-5 0.04143,-6.2e-5 1.670518,-0.232037 3.440036,-0.65958 5.36408,-1.284309 3.344758,-1.045783 6.310742,-2.590914 8.860956,-4.65465 2.496912,-1.999262 4.431819,-4.366287 5.791789,-7.029031 1.359852,-2.662676 2.045357,-5.47805 2.040248,-8.396714 -0.0072,-4.062678 -1.236199,-7.866897 -3.702086,-11.289377 -2.466138,-3.422627 -5.83233,-6.043726 -9.974869,-7.779593 -4.211418,-1.785447 -9.702531,-2.598978 -16.514823,-2.586807 l -16.532201,0.02417 c -0.07107,3.95e-4 -0.138489,-0.0082 -0.207171,3.03e-4 z m 8.898154,8.225996 7.126664,-0.01042 c 3.330616,-0.0059 5.700107,0.09523 7.044164,0.279807 1.362489,0.187177 2.854705,0.582181 4.434981,1.192619 1.56625,0.596782 2.931614,1.327683 4.104845,2.237482 -8e-5,0.0095 -5.6e-5,0.02917 5e-5,0.03868 3.227673,2.470818 4.74922,5.440832 4.756204,9.373135 0.0071,4.02642 -1.463298,7.162711 -4.607379,9.792976 -0.967178,0.798314 -2.042682,1.475215 -3.22926,2.035463 -1.121501,0.522301 -2.58442,0.97246 -4.431715,1.360307 -1.742195,0.348503 -4.387131,0.54682 -7.83035,0.552979 l -7.333833,0.01072 -0.03437,-26.863756 z"
|
||||
id="path2242"
|
||||
style="font-size:64px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#eeeeec;fill-opacity:1;stroke:none;font-family:Gill Sans MT" />
|
||||
<path
|
||||
d="m 89.367876,35.647667 a 5.9689121,5.4715028 0 1 1 -11.937824,0 5.9689121,5.4715028 0 1 1 11.937824,0 z"
|
||||
transform="matrix(1.950025,0,0,1.950025,-82.91788,-16.34322)"
|
||||
id="path2211"
|
||||
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<rect
|
||||
width="78.006226"
|
||||
height="57.749683"
|
||||
rx="6.5702238"
|
||||
ry="7.3061213"
|
||||
x="24.572311"
|
||||
y="31.981253"
|
||||
id="rect3372"
|
||||
style="fill:none;stroke:url(#linearGradient3462);stroke-width:1.34628034;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<rect
|
||||
width="80.581573"
|
||||
height="60.167591"
|
||||
rx="7.6942425"
|
||||
ry="8.5425425"
|
||||
x="23.284639"
|
||||
y="30.772299"
|
||||
id="rect3464"
|
||||
style="fill:none;stroke:#323232;stroke-width:1.3558476;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
d="m 31.791339,87.728149 63.56817,0 c 2.892656,0 5.221401,-2.506561 5.221401,-5.620093 l 0,-9.001145 C 77.875731,64.373285 45.003847,59.694557 26.569939,59.548435 l 0,22.559621 c 0,3.113532 2.328744,5.620093 5.2214,5.620093 z"
|
||||
id="rect3477"
|
||||
style="fill:url(#linearGradient2232);fill-opacity:1;fill-rule:nonzero;stroke:none" />
|
||||
<path
|
||||
d="m 89.367876,35.647667 a 5.9689121,5.4715028 0 1 1 -11.937824,0 5.9689121,5.4715028 0 1 1 11.937824,0 z"
|
||||
transform="matrix(0.626567,0,0,0.626567,40.72046,19.11002)"
|
||||
id="path2222"
|
||||
style="fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;display:inline" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
@@ -1 +0,0 @@
|
||||
<svg fill="none" height="48" width="48" xmlns="http://www.w3.org/2000/svg"><path d="M24 48c13.255 0 24-10.745 24-24S37.255 0 24 0 0 10.745 0 24s10.745 24 24 24z" fill="#5c2d91"/><g fill="#fff"><path d="M7.923 6.657a23.67 23.67 0 1033.42 33.42z" opacity=".1"/><path d="M6.133 27.554a.999.999 0 01-.74-.31 1.02 1.02 0 01-.303-.74 1.036 1.036 0 01.303-.74.991.991 0 01.74-.318 1.013 1.013 0 01.74.318 1.028 1.028 0 01.31.74 1.013 1.013 0 01-.31.74 1.02 1.02 0 01-.74.31zM20.83 27.369h-1.937l-6.931-10.755a4.438 4.438 0 01-.43-.844h-.059c.066.615.09 1.232.074 1.85v9.749H9.972V13.884h2.049l6.746 10.563c.28.44.463.74.547.903h.037a14.26 14.26 0 01-.096-1.983v-9.483h1.576zM31.497 27.369H24.33V13.884h6.835v1.428h-5.222v4.482h4.867v1.42h-4.867v4.676h5.563zM42.082 15.312h-3.92v12.057h-1.576V15.312H32.71v-1.428h9.372z"/></g><path d="M19.98 36.541a3.647 3.647 0 01-1.716.363 2.766 2.766 0 01-2.123-.85 3.151 3.151 0 01-.799-2.22 3.3 3.3 0 01.895-2.411 3.048 3.048 0 012.278-.918c.506-.017 1.01.071 1.48.26v.739a2.959 2.959 0 00-1.48-.37 2.263 2.263 0 00-1.738.74c-.461.525-.7 1.21-.666 1.908a2.567 2.567 0 00.622 1.813 2.116 2.116 0 001.634.673 3.062 3.062 0 001.62-.415zM23.005 36.904a2.056 2.056 0 01-1.575-.658 2.3 2.3 0 01-.585-1.65 2.397 2.397 0 01.614-1.746 2.22 2.22 0 011.65-.628 1.99 1.99 0 011.546.613c.393.474.591 1.08.555 1.694a2.382 2.382 0 01-.6 1.702 2.1 2.1 0 01-1.605.673zm.052-4.046a1.354 1.354 0 00-1.08.466 1.916 1.916 0 00-.4 1.287c-.025.45.117.892.4 1.242a1.369 1.369 0 001.08.46 1.302 1.302 0 001.058-.445c.269-.367.4-.818.37-1.272.029-.457-.102-.91-.37-1.28a1.294 1.294 0 00-1.058-.458zM28.664 33.08a.873.873 0 00-.54-.141.91.91 0 00-.74.429c-.22.349-.326.757-.303 1.169V36.8h-.74v-4.438h.74v.925c.081-.286.243-.543.466-.74.193-.167.44-.26.695-.259.143-.006.286.014.422.06zM32.999 34.766h-3.13c-.02.414.114.82.378 1.14a1.376 1.376 0 001.05.399 2.22 2.22 0 001.376-.496v.666c-.457.301-.999.449-1.546.421a1.879 1.879 0 01-1.48-.606 2.478 2.478 0 01-.54-1.701 2.426 2.426 0 01.585-1.687 1.886 1.886 0 011.48-.65 1.672 1.672 0 011.346.561c.34.45.509 1.006.473 1.568zm-.74-.599a1.48 1.48 0 00-.296-.954 1.013 1.013 0 00-.813-.34 1.147 1.147 0 00-.851.362 1.635 1.635 0 00-.437.94z" fill="#f2f2f2"/></svg>
|
||||
|
Before Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1 @@
|
||||
<svg id="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><style>.cls-1{fill:#d71e00;}.cls-2{fill:#c21a00;}.cls-3{fill:#fff;}.cls-4{fill:#c3c3c3;}.cls-5{fill:#d5d5d5;}</style></defs><title>plugin_icons_0918_RGB_openshift_color</title><circle class="cls-1" cx="50" cy="50" r="50"/><path class="cls-2" d="M85.36,14.64A50,50,0,0,1,14.64,85.36Z"/><path class="cls-3" d="M58.79,32.55a19.22,19.22,0,0,1,5.62,4l10.42-3.79A29.77,29.77,0,0,0,20.91,52.39L31.33,48.6A19.29,19.29,0,0,1,58.79,32.55"/><path class="cls-3" d="M26.72,55.51l-9.89,3.61A30.05,30.05,0,0,0,21.48,69.2l10.39-3.78a19.54,19.54,0,0,1-5.15-9.91"/><path class="cls-3" d="M72.46,38.87l-9.9,3.6A19.39,19.39,0,0,1,65,53.37l10.4-3.78a30.22,30.22,0,0,0-2.92-10.72"/><path class="cls-4" d="M35.63,49.11a16.24,16.24,0,0,1,0-2.09L25.25,50.81c.05.67.14,1.33.24,2Z"/><path class="cls-5" d="M35.62,48.2c0-.4,0-.79.05-1.18C35.64,47.41,35.62,47.8,35.62,48.2Z"/><path class="cls-5" d="M35.62,48.62c0,.16,0,.33,0,.49L25.49,52.8c-.1-.66-.19-1.32-.24-2a30.5,30.5,0,0,0,.82,4.94l9.9-3.6A19.83,19.83,0,0,1,35.62,48.62Z"/><path class="cls-4" d="M80.19,32.76c-.32-.53-.66-1.06-1-1.57L68.75,35A17.85,17.85,0,0,1,70,36.46Z"/><path class="cls-5" d="M80.18,32.76,70,36.46a21,21,0,0,1,1.78,2.64l9.89-3.6A29.32,29.32,0,0,0,80.18,32.76Z"/><path class="cls-5" d="M68.75,35l10.41-3.79L68.75,35l0,0Z"/><path class="cls-5" d="M26.39,67.42A29.9,29.9,0,0,0,29,70.63l11.32-4.12a19.33,19.33,0,0,1-3.57-2.88ZM80.29,47.8l-10.4,3.78A19,19,0,0,1,69,56.06l11.32-4.13a30,30,0,0,0,0-4.13"/><path class="cls-3" d="M69,56.06c.1-.29.18-.58.26-.87a19,19,0,0,1-1.13,3.08,19.36,19.36,0,0,1-25.72,9.36,18.43,18.43,0,0,1-2.3-1.3l.24.18L29.05,70.63a29.49,29.49,0,0,0,9,6.47,29.84,29.84,0,0,0,39.6-14.42,29.49,29.49,0,0,0,2.71-10.75Z"/><path class="cls-3" d="M27.61,69c-.42-.51-.83-1-1.22-1.58C26.78,68,27.19,68.49,27.61,69Z"/><path class="cls-3" d="M80.29,47.8c0,.67.08,1.33.09,2C80.37,49.13,80.34,48.46,80.29,47.8Z"/><path class="cls-3" d="M29,70.52c-.36-.37-.7-.76-1-1.16C28.25,69.76,28.59,70.15,29,70.52Z"/><path class="cls-3" d="M69.38,54.77c.1-.42.19-.85.27-1.28C69.57,53.92,69.48,54.35,69.38,54.77Z"/><path class="cls-3" d="M80.33,51.83c0-.55,0-1.1,0-1.65C80.37,50.73,80.36,51.28,80.33,51.83Z"/><path class="cls-3" d="M38.73,65.35,38.32,65Z"/><path class="cls-3" d="M69.72,53.06c.07-.49.14-1,.17-1.46C69.86,52.08,69.79,52.57,69.72,53.06Z"/></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid" width="724" height="561" viewBox="0 0 724 561">
|
||||
<defs>
|
||||
<linearGradient id="gradientFill-1" x1="0" x2="1" y1="0" y2="1" gradientUnits="objectBoundingBox" spreadMethod="pad">
|
||||
<stop offset="0" stop-color="rgb(203,206,208)" stop-opacity="1"/>
|
||||
<stop offset="1" stop-color="rgb(132,131,139)" stop-opacity="1"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="gradientFill-2" x1="0" x2="1" y1="0" y2="1" gradientUnits="objectBoundingBox" spreadMethod="pad">
|
||||
<stop offset="0" stop-color="rgb(39,109,195)" stop-opacity="1"/>
|
||||
<stop offset="1" stop-color="rgb(22,92,170)" stop-opacity="1"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path d="M361.453,485.937 C162.329,485.937 0.906,377.828 0.906,244.469 C0.906,111.109 162.329,3.000 361.453,3.000 C560.578,3.000 722.000,111.109 722.000,244.469 C722.000,377.828 560.578,485.937 361.453,485.937 ZM416.641,97.406 C265.289,97.406 142.594,171.314 142.594,262.484 C142.594,353.654 265.289,427.562 416.641,427.562 C567.992,427.562 679.687,377.033 679.687,262.484 C679.687,147.971 567.992,97.406 416.641,97.406 Z" fill="url(#gradientFill-1)" fill-rule="evenodd"/>
|
||||
<path d="M550.000,377.000 C550.000,377.000 571.822,383.585 584.500,390.000 C588.899,392.226 596.510,396.668 602.000,402.500 C607.378,408.212 610.000,414.000 610.000,414.000 L696.000,559.000 L557.000,559.062 L492.000,437.000 C492.000,437.000 478.690,414.131 470.500,407.500 C463.668,401.969 460.755,400.000 454.000,400.000 C449.298,400.000 420.974,400.000 420.974,400.000 L421.000,558.974 L298.000,559.026 L298.000,152.938 L545.000,152.938 C545.000,152.938 657.500,154.967 657.500,262.000 C657.500,369.033 550.000,377.000 550.000,377.000 ZM496.500,241.024 L422.037,240.976 L422.000,310.026 L496.500,310.002 C496.500,310.002 531.000,309.895 531.000,274.877 C531.000,239.155 496.500,241.024 496.500,241.024 Z" fill="url(#gradientFill-2)" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -11,6 +11,16 @@ interface WorkflowDesc {
|
||||
iconType?: "svg" | "octicon";
|
||||
}
|
||||
|
||||
interface WorkflowProperties {
|
||||
name: string;
|
||||
|
||||
description: string;
|
||||
|
||||
iconName?: string;
|
||||
|
||||
categories: string[] | null;
|
||||
}
|
||||
|
||||
interface WorkflowsCheckResult {
|
||||
compatibleWorkflows: WorkflowDesc[];
|
||||
incompatibleWorkflows: WorkflowDesc[];
|
||||
@@ -33,16 +43,21 @@ async function checkWorkflows(
|
||||
for (const e of dir) {
|
||||
if (e.isFile()) {
|
||||
const workflowFilePath = join(folder, e.name);
|
||||
const enabled = await checkWorkflow(workflowFilePath, enabledActions);
|
||||
|
||||
const workflowId = basename(e.name, extname(e.name));
|
||||
const workflowProperties = require(join(
|
||||
const workflowProperties: WorkflowProperties = require(join(
|
||||
folder,
|
||||
"properties",
|
||||
`${workflowId}.properties.json`
|
||||
));
|
||||
const iconName: string | undefined = workflowProperties["iconName"];
|
||||
|
||||
const isBlankTemplate = workflowId === "blank";
|
||||
const partnerWorkflow = workflowProperties.categories === null;
|
||||
|
||||
const enabled =
|
||||
(isBlankTemplate || !partnerWorkflow) &&
|
||||
(await checkWorkflow(workflowFilePath, enabledActions));
|
||||
|
||||
const workflowDesc: WorkflowDesc = {
|
||||
folder,
|
||||
id: workflowId,
|
||||
@@ -133,18 +148,18 @@ async function checkWorkflow(
|
||||
console.log("Switch to GHES branch");
|
||||
await exec("git", ["checkout", "ghes"]);
|
||||
|
||||
// In order to sync from master, we might need to remove some workflows, add some
|
||||
// In order to sync from main, we might need to remove some workflows, add some
|
||||
// and modify others. The lazy approach is to delete all workflows first, and then
|
||||
// just bring the compatible ones over from the master branch. We let git figure out
|
||||
// just bring the compatible ones over from the main branch. We let git figure out
|
||||
// whether it's a deletion, add, or modify and commit the new state.
|
||||
console.log("Remove all workflows");
|
||||
await exec("rm", ["-fr", ...settings.folders]);
|
||||
await exec("rm", ["-fr", "../../icons"]);
|
||||
|
||||
console.log("Sync changes from master for compatible workflows");
|
||||
console.log("Sync changes from main for compatible workflows");
|
||||
await exec("git", [
|
||||
"checkout",
|
||||
"master",
|
||||
"main",
|
||||
"--",
|
||||
...Array.prototype.concat.apply(
|
||||
[],
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
#!/usr/bin/env npx ts-node
|
||||
import { promises as fs } from "fs";
|
||||
import { safeLoad } from "js-yaml";
|
||||
import { basename, extname, join } from "path";
|
||||
import { Validator as validator } from "jsonschema";
|
||||
import { endGroup, error, info, setFailed, startGroup } from '@actions/core';
|
||||
|
||||
interface WorkflowWithErrors {
|
||||
id: string;
|
||||
errors: string[];
|
||||
}
|
||||
|
||||
interface WorkflowProperties {
|
||||
name: string;
|
||||
description: string;
|
||||
iconName: string;
|
||||
categories: string[];
|
||||
}
|
||||
|
||||
const propertiesSchema = {
|
||||
type: "object",
|
||||
properties: {
|
||||
name: { type: "string", required: true },
|
||||
description: { type: "string", required: true },
|
||||
creator: { type: "string", required: false },
|
||||
iconName: { type: "string", required: true },
|
||||
categories: {
|
||||
anyOf: [
|
||||
{
|
||||
type: "array",
|
||||
items: { type: "string" }
|
||||
},
|
||||
{
|
||||
type: "null",
|
||||
}
|
||||
],
|
||||
required: true
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
async function checkWorkflows(folders: string[]): Promise<WorkflowWithErrors[]> {
|
||||
const result: WorkflowWithErrors[] = []
|
||||
|
||||
for (const folder of folders) {
|
||||
const dir = await fs.readdir(folder, {
|
||||
withFileTypes: true,
|
||||
});
|
||||
|
||||
for (const e of dir) {
|
||||
if (e.isFile()) {
|
||||
const fileType = basename(e.name, extname(e.name))
|
||||
|
||||
const workflowFilePath = join(folder, e.name);
|
||||
const propertiesFilePath = join(folder, "properties", `${fileType}.properties.json`)
|
||||
|
||||
const errors = await checkWorkflow(workflowFilePath, propertiesFilePath);
|
||||
if (errors.errors.length > 0) {
|
||||
result.push(errors)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
async function checkWorkflow(workflowPath: string, propertiesPath: string): Promise<WorkflowWithErrors> {
|
||||
let workflowErrors: WorkflowWithErrors = {
|
||||
id: workflowPath,
|
||||
errors: []
|
||||
}
|
||||
|
||||
try {
|
||||
const workflowFileContent = await fs.readFile(workflowPath, "utf8");
|
||||
safeLoad(workflowFileContent); // Validate yaml parses without error
|
||||
|
||||
const propertiesFileContent = await fs.readFile(propertiesPath, "utf8")
|
||||
const properties: WorkflowProperties = JSON.parse(propertiesFileContent)
|
||||
|
||||
let v = new validator();
|
||||
const res = v.validate(properties, propertiesSchema)
|
||||
workflowErrors.errors = res.errors.map(e => e.toString())
|
||||
|
||||
if (properties.iconName && !properties.iconName.startsWith("octicon")) {
|
||||
try {
|
||||
await fs.access(`../../icons/${properties.iconName}.svg`)
|
||||
} catch (e) {
|
||||
workflowErrors.errors.push(`No icon named ${properties.iconName} found`)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
workflowErrors.errors.push(e.toString())
|
||||
}
|
||||
return workflowErrors;
|
||||
}
|
||||
|
||||
(async function main() {
|
||||
try {
|
||||
const settings = require("./settings.json");
|
||||
const erroredWorkflows = await checkWorkflows(
|
||||
settings.folders
|
||||
)
|
||||
|
||||
if (erroredWorkflows.length > 0) {
|
||||
startGroup(`😟 - Found ${erroredWorkflows.length} workflows with errors:`);
|
||||
erroredWorkflows.forEach(erroredWorkflow => {
|
||||
error(`Errors in ${erroredWorkflow.id} - ${erroredWorkflow.errors.map(e => e.toString()).join(", ")}`)
|
||||
})
|
||||
endGroup();
|
||||
setFailed(`Found ${erroredWorkflows.length} workflows with errors`);
|
||||
} else {
|
||||
info("🎉🤘 - Found no workflows with errors!")
|
||||
}
|
||||
} catch (e) {
|
||||
error(`Unhandled error while syncing workflows: ${e}`);
|
||||
setFailed(`Unhandled error`)
|
||||
}
|
||||
})();
|
||||