diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..d90d4bd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,51 @@ +name: CI + +on: + push: + branches: + - "*" + pull_request: + + +env: + FLICKR_API_KEY: ${{ secrets.FLICKR_API_KEY }} + FLICKR_USER_ID: ${{ secrets.FLICKR_USER_ID }} + UNSPLASH_ACCESS_KEY: ${{ secrets.UNSPLASH_ACCESS_KEY }} + + +jobs: + build: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v2 + with: + submodules: true + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: '0.79.0' + extended: true + + - name: Setup node + uses: actions/setup-node@v1 + with: + node-version: '14.x' + + - uses: actions/cache@v1 + with: + path: $HOME/.npm + key: npm-${{ hashFiles('package-lock.json') }} + + - name: Install Dependencies + run: npm ci + + - name: Dump environment + run: env >> .env + + - name: Build site + run: ./scripts/release.sh + + - name: Run tests + run: ./scripts/test.sh diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..ead7ecd --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,57 @@ +name: Deploy + +on: + push: + branches: + - master + + +env: + FLICKR_API_KEY: ${{ secrets.FLICKR_API_KEY }} + FLICKR_USER_ID: ${{ secrets.FLICKR_USER_ID }} + UNSPLASH_ACCESS_KEY: ${{ secrets.UNSPLASH_ACCESS_KEY }} + + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v2 + with: + submodules: true + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: '0.79.0' + extended: true + + - name: Setup node + uses: actions/setup-node@v1 + with: + node-version: '14.x' + + - uses: actions/cache@v1 + with: + path: $HOME/.npm + key: npm-${{ hashFiles('package-lock.json') }} + + - name: Install Dependencies + run: npm ci + + - name: Dump environment + run: env >> .env + + - name: Build site + run: ./scripts/release.sh + + - uses: jakejarvis/s3-sync-action@master + with: + args: --follow-symlinks --delete + env: + AWS_S3_BUCKET: theorangeone.net + AWS_ACCESS_KEY_ID: github + AWS_SECRET_ACCESS_KEY: ${{ secrets.MINIO_SECRET_KEY }} + SOURCE_DIR: public + AWS_S3_ENDPOINT: https://pages.theorangeone.net