Skip to content

Commit

Permalink
Added private build
Browse files Browse the repository at this point in the history
  • Loading branch information
korridor committed Apr 11, 2024
1 parent 436fe11 commit cffc336
Show file tree
Hide file tree
Showing 5 changed files with 101 additions and 4 deletions.
13 changes: 13 additions & 0 deletions .env.production
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
APP_NAME=solidtime
APP_ENV=production
APP_DEBUG=false
APP_FORCE_HTTPS=true
SESSION_SECURE_COOKIE=true

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=pgsql

OCTANE_SERVER=swoole
81 changes: 81 additions & 0 deletions .github/workflows/build-private.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
on:
push:

name: Build - Private
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: "Check out code"
uses: actions/checkout@v4

- name: "Copy .env template for production"
run: cp .env.production .env && cat .env

- name: "Checkout billing extension"
uses: actions/checkout@v4
with:
repository: solidtime-io/extension-billing
path: extensions/Billing
ssh-key: ${{ secrets.SSH_PRIVATE_KEY_BILLING_EXTENSION }}

- name: "Install dependencies in billing extension"
uses: php-actions/composer@v6
env:
COMPOSER_AUTH: '{"http-basic": {"spark.laravel.com": {"username": "gregor@vostrak.at", "password": "${{ secrets.LARAVEL_SPARK_API_KEY }}"}}}'
with:
working_dir: "extensions/Billing"
command: install
only_args: --no-dev --no-ansi --no-interaction --no-scripts --prefer-dist --ignore-platform-reqs --classmap-authoritative
php_version: 8.3

- name: "Install dependencies"
uses: php-actions/composer@v6
if: steps.cache-vendor.outputs.cache-hit != 'true' # Skip if cache hit
with:
command: install
only_args: --no-dev --no-ansi --no-interaction --no-scripts --prefer-dist --ignore-platform-reqs --classmap-authoritative
php_version: 8.3

- name: "Use Node.js"
uses: actions/setup-node@v4
with:
node-version: '20.x'

- name: "Install npm dependencies"
run: npm ci

- name: "Build"
run: npm run build

- name: "Login to GitHub Container Registry"
uses: docker/login-action@v3
with:
registry: rg.fr-par.scw.cloud/solidtime
username: nologin
password: ${{ secrets.SCALEWAY_REGISTRY_TOKEN }}

- name: "Docker meta"
id: "meta"
uses: docker/metadata-action@v5
with:
images: rg.fr-par.scw.cloud/solidtime/solidtime
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: "Set up Docker Buildx"
uses: docker/setup-buildx-action@v3

- name: "Build and push"
uses: docker/build-push-action@v5
with:
context: .
file: docker/prod/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
8 changes: 5 additions & 3 deletions .github/workflows/build-public.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
on:
push:

name: Build
name: Build - Public
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: "Check out code"
uses: actions/checkout@v4

- name: "Copy .env template for production"
run: cp .env.production .env

- name: "Install dependencies"
uses: php-actions/composer@v6
if: steps.cache-vendor.outputs.cache-hit != 'true' # Skip if cache hit
with:
command: install
dev: no
only_args: --no-ansi --no-interaction --no-scripts --prefer-dist --ignore-platform-reqs --classmap-authoritative
only_args: --no-dev --no-ansi --no-interaction --no-scripts --prefer-dist --ignore-platform-reqs --classmap-authoritative
php_version: 8.3

- name: "Use Node.js"
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
/vendor
.env
.env.backup
.env.production
.phpunit.result.cache
Homestead.json
Homestead.yaml
Expand Down
2 changes: 2 additions & 0 deletions docker/prod/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ COPY --chown=${USER}:${USER} docker/prod/deployment/supervisord.*.conf /etc/supe
COPY --chown=${USER}:${USER} docker/prod/deployment/php.ini ${PHP_INI_DIR}/conf.d/99-octane.ini
COPY --chown=${USER}:${USER} docker/prod/deployment/start-container /usr/local/bin/start-container

RUN cat .env
RUN php artisan env
RUN php artisan storage:link

RUN chmod +x /usr/local/bin/start-container
Expand Down

0 comments on commit cffc336

Please sign in to comment.