* Add prettier as a dependency
* Add format command and configure prettier
I opted for single quotes to be in line with other simple-icons projects
I ignore the data file because changing its formatting is quite a bit of
trouble for all open PRs.
* Run prettier
* Replace all functions by arrow functions
* Move prettier configuration to config file
Move it to a file so editors (and other software) can pick up on the
configuration. I went with .js because (a) it allows for comments and
(2) it seems most of the config files are in JavaScript already.
* Add prettier --check when running npm run lint (This adds it to the CI as well)
* Add husky and format changes before committing
* Use object destructuring for imports consistently
* Add shebang and fileoverview to jsonlint.js
* Use PAT to avoid version bump commit problems due to branch protections
Following the instructions of stefanzweifel/git-auto-commit-action [1]
for pushing to branches with branch protections, this changes the create
release workflow to fetch the repo with a PAT (that must belong to an
admin for this to work). As a result, when pushing the version bump
commit, the required status checks are not required (provided the rules
are not applied to admins).
---
1. https://github.com/stefanzweifel/git-auto-commit-action#push-to-protected-branches
* Add warning to not add `on: push` to create release workflow
* Enforce that create-release isn'ttriggered by push events
* create issue form for icon requests
* cleanup old issue template
* create issue form for icon updates
* create package and documentation forms
* fix: description strings
* remove "render" from textarea
* add additional comments section to icon request/update form
* fix: grammar
* fix: more grammar
* feat: default issue titles
* move contributing guidelines to top, make resources required
* fix contributing guidelines link
* remove unnecessary queustion from documentation form
* add description for website field
* trim trailing whitespace
* fix linting errors
* add examples to additional comments description
* simplify fields to specify issue type
* update examples in documentation description
* align icon update with icon request
* fix: grammar
* align package and documentation forms
* require "Kind of issue"
* clarify kind of issue description
* better grammar in kind of issue description
* allow issue authors to specify if they would like to contribute
* use dropdown in contributing field
* update form notice for duplicate issues
link searches open issues by default
* update contributing description and make field required
* add different contributing descriptions
* add placeholders
* change "Alexa rank" to "Popularity Metric"
* change "insufficient" to "too low"
* add backticks around hex color in placeholder
* reword license question
* convert popularity metric to textarea
* update all descriptions
* no more inline links
* fix links
* remove trailing whitespace
* proper newline
* proper newline 2
* capitalize options
* capitalize options
* add to additional comments description
* fix icon request resources description
* fix sentences structure
* consistent wording - "docs," not "documentation"
* remove contributing field from package form
* separate inputs for version information
* better wording for software input
* fix link formatting
* more link formatting
* update additional comments description
* align resources description across forms
* remove unnecessary questions from icon update description
* format
* fix icon request links
* add version to chrome example in placeholder
* change Simple Icons to Package in label
* consistent "None" across forms
* consistent "None" across forms
* consistent additional comments field
* improve wording in version description
* fix wording in icon request popularity metric description
* minor placeholder updates
* fix "this issue concerns..." label
* add improvement option to package form
* add performance option
* consistency
Co-authored-by: Eric Cornelissen <ericornelissen@gmail.com>
* Remove executable flag from file mode
Affected: dgraph, django, homebrew, pagekit, uikit
* Add lint step to CI to reject executable icons
Co-authored-by: Eric Cornelissen <ericornelissen@gmail.com>
* Set up caching jest cache for tests in CI
Use actions/cache to cache the jest cache between runs. The cache will
be invalided if the package-lock.json file is updated OR after 7
days [1]. The cache directory for jest is now also configured to be in a
directory called ".jestcache" at the root of this project. This
directory will be ignored by git due to its addition to the .gitignore.
--
1. https://docs.github.com/en/actions/guides/caching-dependencies-to-speed-up-workflows#usage-limits-and-eviction-policy
* Trigger jest cache in CI
* Include date in cache key
This way the cache is invalidated very day
* Add name for caching Jest's cache step
* Demonstrate test failure with cache enabled
* Revert ff915d4660
* Cache dependencies
* Update Jest cache configuration
* Refactor and use Jest cache in Publish workfow
- Refactor out the duplicated sanity check in the publish workflow into
a separate, depended upon, job.
- Use the Jest cache in the Publish workflow.
* Update linter job in CI to just run `npm run lint`
... whereas previously it ran each linter separately. This avoids having
to update the workflow file if a new linter is added (or a linter is
removed).
* Use run_number instead of date for jest cache in CI
* Simplify GitHub release publish job
Add the `workflow_dispatch` trigger to the Create Release Pull Request
workflow. This will allow us to more easily trigger the release Pull
Request if either 1) the scheduled run failed for whatever reason or 2)
an extra release is needed as per the DISCLAIMER.md.
You can read more about `workflow_dispatch` in the GitHub docs at:
https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_dispatch
* Remove files directly related to the website
Remove all the files directly related to the Jekyll-based website in
this repository. This includes the HTML, CSS and JS for the website, the
assets that can be found in the images/ folder, Jekyll-related files
(_config.yml, Gemfile, Gemfile.lock) and the CNAME file.
* Remove website-related configurations
Remove website-related files from ignore files, update the EditorConfig
configuration to remove any mention of website files, and update
.gitattributes to omit removed files.
* Update issue templates
Remove the issue templates for issues regarding the website and replace
it with a issue templates configuration file [1] that provides a link to
a the equivalent issue template in the simple-icons-website repository.
--
1. https://docs.github.com/en/github/building-a-strong-community/configuring-issue-templates-for-your-repository
* Remove building website from verify workflow
* Remove mentions of website from Contributing Guidelines
* Remove mention of GitPod
I believe the main advantage of GitPod was that it allows you to preview
a contribution in the context of the website. Now that the website is no
longer in the repository this is not a thing anymore (unless someone
can configure GitPod to pull in the website from its repo), so I removed
any mention of it.
I'm open to reverting this change if contributors still want to use
GitPod.
* Add CI job for building the NodeJS package
* Restructure scripts/ directory
And update references to this scripts everywhere.
* Update names of file-level constants in bump-version.js
* Normalize quotes between all scripts
* Move "create-release.yml" scripts to scripts/release
* Move slugs table script to scripts/release
* Update relative path logic in update-slugs-table.js
* Add script to bump major version in README
On lines 29-32, we could alternatively use `replaceAll`, I opted not to
as it is not yet(?) part of an LTS release of NodeJS.
* Bump CDN version in README automatically for new releases
* Rename "bump-cdn-version.js" to "update-cdn-urls.js"
* Update names of file-level constants in update-cdn-urls.js
* Rename workflow setp for updating CDN URLs
* Rename packageJsonFile constant in update-cdn-urls
* Remove semver dependency
* Generalize update-cdn-urls script
* Update workflow names
Most importantly gives unique names to `create-release.yml` and
`merge-release.yml`.
Other than that, this attempts to improve and unify the names of all
workflows.
* Update release workflow names
Co-authored-by: Álvaro Mondéjar <mondejar1994@gmail.com>
Co-authored-by: Álvaro Mondéjar <mondejar1994@gmail.com>
* Auto assign to project workflow
* Remove redundant newline
* Update indentation in auto-assign-to-project.yml
Co-authored-by: Eric Cornelissen <ericornelissen@gmail.com>
* Remove .travis.yml reference from .gitattributes
* Minor refactoring of .svglintrc.js
- Remove unused variables
- Fix missing semi-colons
- Remove unneeded indentation
* Prevent error in clean command due to missing files
* Fix indentations
* Further improvements to Editorconfig and indentation
* Format YAML files
- Update indentation for array notation
- Normalize use of newlines
* Formalize website Ruby dependencies and installation process
* Improve Contributing Guidelines
* Add Gemfile.lock to .gitattributes
* Use 'ruby/setup-ruby' caching strategy
* Add link to documentation of 'bundler-cache'
* Split release workflow into two
Split the release workflow - which so far created and helped merging
release PRs - into a workflow for reating the release PR and one for
helping to merge it.
* Simplify merge-release.yml if-condition
Update release.yml, which is the workflow that creates release PRs and
merges them when approved, to use a Personal Access Token instead of
the standard GITHUB_TOKEN. I choose to name it RELEASE_TOKEN.
This change ensures that GitHub Actions workflows are triggered when
an action is performed by the Automated releases workflow. This is
needed because the publishing to NPM and the creation of a new GitHub
release should happen when there is a commit on `master`. If the release
PR is merged by the workflow using GITHUB_TOKEN, no GitHub Actions
workflows would be triggered.
Co-authored-by: Álvaro Mondéjar <mondejar1994@gmail.com>
* Add GitHub Actions workflow for verification
Add a GitHub Actions workflow file that does the verification of pushes
and pull requests. I.e., it runs the linters, runs the tests, and builds
the website. This workflow runs for all `pull_requests` and `push`es.
* Add GitHub Actions workflow for deployment
Add a GitHub Actions workflow file that does the deployment upon pushes
to master. Before actually deploying, the linters and test are ran, just
in case.
* Remove Travis CI configuration file
* Remove unnecessary quotes from existing workflows
* Add caching for "Build website" verification
* Update build badge in README
Co-authored-by: Álvaro Mondéjar <mondejar1994@gmail.com>
* Add Alexa ranks to GitHub Templates
* Add trailing newline to icon_request.md
* Remove excess space from icon_request.md
* Updates from review
* Remove choice between issue & rank
* Fix typo in issue template
Co-authored-by: Eric Cornelissen <ericornelissen@gmail.com>
* Improve wording in issue template and close last comment
Co-authored-by: Lucas Becker <runxel@users.noreply.github.com>
Co-authored-by: Eric Cornelissen <ericornelissen@gmail.com>
* Add workflow file to run PR labeler and corresponding configuration file
I'm using my personal fork of https://github.com/actions/labeler because
I could not any labeling action that checked whether a file was added or
changed (or removed).
* Fix typo in Labeler action configuration file
* Add Pull Request template
* Use multiple issue templates
* Add item about referencing issues in the Pull Request template
* Update issue templates based on suggestions by @birjolaxew
* Update issue templates based on suggestions by @birjolaxew
* Combine package and website template
* Update Pull Request template
Co-Authored-By: Johan Fagerberg <birjolaxew@users.noreply.github.com>
* Change template style for pull requests
* Add "etc." to lists of examples