Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CI/CD #30

Open
1 of 4 tasks
ricardobalk opened this issue Oct 23, 2020 · 2 comments
Open
1 of 4 tasks

Add CI/CD #30

ricardobalk opened this issue Oct 23, 2020 · 2 comments
Assignees
Labels
enhancement New feature or request high priority
Milestone

Comments

@ricardobalk
Copy link
Member

ricardobalk commented Oct 23, 2020

Now we have Dockerfiles (#25), it would be cool if the project has some kind of CI/CD, like Travis, Jenkins, GitHub Actions, etc.

Docker provides an environment and a default setup for the application, CI/CD can take advantage of that.

Main goals for CI/CD

  • Runs common linters and formatting tools on source tools (e.g. go fmt, go vet, npx prettier)
    — and commit automatically fixed lines to the PR
  • Checks the resulting PR for compatibility (i.e. failed Docker builds should not pass)

Bonus points for

  • If the CI/CD checks availability of the API endpoint (i.e. does the API really work?)
  • If the CI/CD checks availability of the map interface by making screenshots with something like Puppeteer
    — but this stuff probably involves complex stuff like xvfb, as most CI/CD systems are headless and don't have a "real display".
@ricardobalk ricardobalk added the enhancement New feature or request label Oct 23, 2020
@ricardobalk ricardobalk added this to the 1.1.0 milestone Oct 23, 2020
@ricardobalk ricardobalk self-assigned this Oct 23, 2020
@ricardobalk ricardobalk added this to To do in Code maintenance via automation Oct 23, 2020
@ricardobalk ricardobalk moved this from To do to In progress in Code maintenance Oct 30, 2020
@ricardobalk
Copy link
Member Author

Basic CI/CD has been created now. Travis CI installs Docker, docker-compose, sets up environment variables and runs docker-compose build. This builds the front-end and the back-end. If anything fails, Travis CI will also fail, and you'll see a red cross ❌.

Next thing for me to create is to let Travis run linters against the code in the repository, before building them.

@ricardobalk ricardobalk modified the milestones: 1.1.0, 1.2.0 Nov 9, 2020
@ricardobalk
Copy link
Member Author

Need to add CI/CD again in favour of #56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high priority
Projects
Code maintenance
In progress
Development

No branches or pull requests

1 participant