diff --git a/.env b/.env index 22fb88c0..691b85a1 100644 --- a/.env +++ b/.env @@ -1,3 +1,5 @@ +REGISTRY="inakri" +REPO_OWNER="izelnakri" POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_HOST=localhost diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 89671b6a..b92d796d 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -1,4 +1,4 @@ -name: docker-compose-actions-workflow +name: docker-compose-based-ci on: push jobs: test: @@ -8,14 +8,12 @@ jobs: uses: actions/checkout@v2 - name: Set ENV variables run: | - echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV - echo "DOCKER_TAG=paper_trail:$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV - - name: Expose .env to steps - run: | - sed -i $(echo "s/\$DOCKER_TAG/$DOCKER_TAG/g") .env cat .env >> $GITHUB_ENV - - name: Docker-compose pull - run: docker-compose pull + echo "REGISTRY=ghcr.io" >> $GITHUB_ENV + echo "REPO_OWNER=$(echo ${GITHUB_REPOSITORY%/*})" >> $GITHUB_ENV + echo "REPO_NAME=$(echo ${GITHUB_REPOSITORY#*/})" >> $GITHUB_ENV + echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV + echo "DOCKER_TAG=$(echo ${GITHUB_REPOSITORY#*/}):$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 with: @@ -24,25 +22,28 @@ jobs: uses: actions/cache@v2 with: path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - name: Login to DockerHub + key: ${{runner.os}}-buildx-${{github.sha}} + restore-keys: ${{runner.os}}-buildx- + - name: Login to GitHub Container Registry uses: docker/login-action@v1 with: - username: ${{ secrets.HUB_USERNAME }} - password: ${{ secrets.HUB_KEY }} + registry: ${{env.REGISTRY}} + username: ${{env.REPO_OWNER}} + password: ${{secrets.CR_PAT}} - name: Build and push uses: docker/build-push-action@v2 with: context: . file: ./Dockerfile push: true - tags: ${{ secrets.HUB_USERNAME }}/${{ env.DOCKER_TAG }} + tags: ${{env.REGISTRY}}/${{env.REPO_OWNER}}/${{env.DOCKER_TAG}} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache + - name: Docker-compose pull + run: docker-compose pull - name: Docker-compose up - run: docker-compose -f docker-compose.yaml up -d + run: | + docker-compose -f docker-compose.yaml up -d - name: Execute tests run: | docker-compose exec -T paper_trail mix test test/paper_trail diff --git a/docker-compose.yaml b/docker-compose.yaml index 571a8424..1f777fdb 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -12,12 +12,12 @@ services: volumes: - pgdata:/var/lib/postgresql/data paper_trail: - image: inakri/$DOCKER_TAG + image: $REGISTRY/$REPO_OWNER/$DOCKER_TAG build: context: . dockerfile: Dockerfile cache_from: - - inakri/$DOCKER_TAG + - $REGISTRY/$REPO_OWNER/$DOCKER_TAG environment: POSTGRES_USER: $POSTGRES_USER POSTGRES_PASSWORD: $POSTGRES_PASSWORD