Finally use gulp to check in all main static files and run the tests.
gulp
Development with Docker
After cloning this repo, you need to create an .env file. Make a copy of .env-dist named .env.
cp .env-dist .env
Now docker compose from the root directory of the repo
docker compose up
Since this is Django, you will need to create a superuser for your dev work. Do this by attaching to the web container and running the command.
docker compose exec web bash
./manage.py createsuperuser
You should now be able to login at /admin/
CI & CD
This application is currently run through integration and deploy pipelines via both GitHub Actions & a background Kubernetes Flux setup leveraging Helm Charts.
Through those workflows, a Docker image is built, tagged, pushed to ECR, and deployed either to a staging (itse-apps-stage-1) or production (itse-apps-prod-1) Kubernetes cluster.
tl;dr: Push commits to main branch for a stage deploy, cut GitHub releases (following v1.2.3 format) for a production deploy.
The pipelines work as followed:
CI & Docker Builds:
(manual) create your feature branch on this repository or a fork (CI will run in our repository for PRs from forks now) & add your work;
(manual) push your feature branch up to GitHub & create your PR;
(automated) upon push (if a branch off this repository) or PR (both our repository & forks), GitHub Actions will:
run linting & syntax checks on the code;
build the Docker image & tag it with the short git commit SHA of the latest commit to confirm the image can be built;
(manual) create a PR from your feature branch to the main branch, have it reviewed, then merged into main;
(automated) Upon merge into main, GitHub Actions will:
run linting & syntax checks on the code;
build the Docker image & tag it with “stg-{the 7-digit short git commit SHA of the latest commit};
push that Docker image & tag to our ECR repository for Moderator;
Stage Deploy:
(automated): upon creation & push of any Docker Images to our ECR moderator repository with the tag pattern ^(stg-[a-f0-9]{7})$:
Mozilla Moderator
Mozilla Moderator is a panel moderation webapp that enables users to view, vote and ask questions on different events.
Then panel moderators can export the questions and use them during panel discussions and Q&A.
License
All mozmoderator source files are made available under the terms of the GNU Affero General Public License (AGPL).
Frontend testing
Use npm to install the necessary tools. If you use docker for development this step is not necessary.
Use bower to download all Frontend libraries.
Install all required packages.
Finally use gulp to check in all main static files and run the tests.
Development with Docker
After cloning this repo, you need to create an .env file. Make a copy of .env-dist named .env.
Now docker compose from the root directory of the repo
Since this is Django, you will need to create a superuser for your dev work. Do this by attaching to the web container and running the command.
You should now be able to login at /admin/
CI & CD
This application is currently run through integration and deploy pipelines via both GitHub Actions & a background Kubernetes Flux setup leveraging Helm Charts.
Through those workflows, a Docker image is built, tagged, pushed to ECR, and deployed either to a staging (itse-apps-stage-1) or production (itse-apps-prod-1) Kubernetes cluster.
tl;dr: Push commits to main branch for a stage deploy, cut GitHub releases (following v1.2.3 format) for a production deploy.
The pipelines work as followed:
CI & Docker Builds:
Stage Deploy:
^(stg-[a-f0-9]{7})$:Production Deploy:
^(v[0-9]+.[0-9]+.[0-9]+)$);^(v[0-9]+.[0-9]+.[0-9]+)$: