name: ci on: push: branches: [main] pull_request: types: [opened, synchronize, reopened] jobs: build-image: runs-on: self-hosted steps: - name: Set current date as env variable run: echo "NOW=$(date +'%Y%m%d-%H%M%S')" >> $GITHUB_ENV - name: Fix for bad os check run: echo "RUNNER_OS=Linux" >> $GITHUB_ENV - name: Login to Forgejo Registry uses: https://cremin.dev/actions/podman-login@v1 with: registry: cremin.dev username: ${{ github.actor }} password: ${{ secrets.FORGEJO_REGISTRY_TOKEN }} logout: false - name: Check out repository uses: https://cremin.dev/actions/checkout@v4 - name: Build image uses: https://cremin.dev/actions/buildah-build@v2 with: containerfiles: ./Containerfile context: ./ oci: true layers: true image: cremin.dev/jonathan/hostr tags: latest ${{ github.sha }} - name: Push image uses: https://cremin.dev/actions/push-to-registry@v2 with: registry: cremin.dev username: ${{ github.actor }} password: ${{ secrets.FORGEJO_REGISTRY_TOKEN }} image: jonathan/hostr tags: latest ${{ github.sha }} test-image: runs-on: self-hosted needs: build-image services: database: image: postgres:14-alpine env: POSTGRES_PASSWORD: hostr POSTGRES_USER: hostr POSTGRES_DB: hostr redis: image: redis:4.0.2-alpine minio: image: minio/minio env: MINIO_ACCESS_KEY: 7HYV3KPRGQ8Z5YCDNWC6 MINIO_SECRET_KEY: 0kWP/ZkgIwQzgL9t4SGv9Uc93rO//OdyqMH329b/ cmd: ["server", "/export"] steps: - name: Check out repository uses: https://cremin.dev/actions/checkout@v4 - name: Test image env: WEB_BASE_URL: http://localhost:3000 API_BASE_URL: http://localhost:3000/api UPLOAD_STORAGE_PATH: /hostr/uploads COOKIE_KEY: TESTING EMAIL_FROM: jonathan@hostr.co EMAIL_NAME: "Jonathan from Hostr" DATABASE_URL: postgresql://hostr:hostr@database:5432/hostr REDIS_URL: redis://redis:6379 AWS_ENDPOINT: http://minio:9000 AWS_ACCESS_KEY_ID: 7HYV3KPRGQ8Z5YCDNWC6 AWS_SECRET_ACCESS_KEY: 0kWP/ZkgIwQzgL9t4SGv9Uc93rO//OdyqMH329b/ AWS_BUCKET: hostr run: | podman run --rm --env-host -it cremin.dev/jonathan/hostr:${{ github.sha }} yarn test