Merge pull request #1129 from morucci/1112 #599
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jobs: | |
publish-master-container: | |
if: "github.repository_owner == 'change-metrics'" | |
name: publish-master-container | |
runs-on: ubuntu-latest | |
steps: | |
- uses: "actions/[email protected]" | |
- uses: "cachix/install-nix-action@v20" | |
with: | |
nix_path: nixpkgs=channel:nixos-unstable | |
- uses: "cachix/cachix-action@v12" | |
with: | |
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" | |
name: change-metrics | |
- name: Configure sysctl limits | |
run: | | |
sudo swapoff -a | |
sudo sysctl -w vm.swappiness=1 | |
sudo sysctl -w fs.file-max=262144 | |
sudo sysctl -w vm.max_map_count=262144 | |
- name: Set write permission for data directory | |
run: "chmod o+w data" | |
- name: Create a config.yaml file | |
run: | | |
cat > etc/config.yaml << EOF | |
--- | |
workspaces: | |
- name: monocle | |
crawlers: | |
- name: github-tekton | |
update_since: "2020-01-01" | |
provider: | |
github_organization: tekton | |
EOF | |
- name: Create a secret.yaml file | |
run: | | |
cat > .secrets << EOF | |
CRAWLERS_API_KEY=secret | |
GITHUB_TOKEN=123 | |
EOF | |
- name: Build monocle-exe container | |
run: "nix build .#containerMonocle; docker load < ./result" | |
- name: Build docker image | |
run: docker build -t quay.io/change-metrics/monocle:latest . | |
- name: Set Monocle compose image to latest | |
run: "echo \"COMPOSE_MONOCLE_VERSION=latest\" > .env" | |
- name: Start Monocle compose | |
run: docker compose up -d | |
- name: Wait for services to start | |
run: sleep 45 | |
- name: Display docker-compose ps | |
run: docker compose ps | |
- name: Display docker-compose logs | |
run: docker compose logs | |
- name: Check services are running | |
run: "test -z \"$(sudo docker compose ps -a | grep Exit)\"" | |
- name: Check api service through nginx | |
run: "curl -s --fail -H 'Content-type: application/json' http://localhost:8080/api/2/get_workspaces -d '{}' | grep 'workspaces'" | |
- name: Check web service to fetch web app | |
run: "curl -s http://localhost:8080/index.html | grep 'window.document.title'" | |
- name: Login on quay.io | |
run: "docker login -u \"${{ secrets.QUAYIO_USERNAME }}\" -p \"${{ secrets.QUAYIO_PASSWORD }}\" quay.io" | |
- name: Publish image to quay.io | |
run: docker push quay.io/change-metrics/monocle:latest | |
name: Publish Master Container | |
on: | |
push: | |
branches: | |
- master |