diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 88a15aca..a1bab30d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,18 +1,18 @@ name: Build and Lint on: - pull_request: - push: + pull_request: + push: jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2.4.0 - - name: Setup Node.js - uses: actions/setup-node@v2.5.1 - with: - cache: "yarn" - - run: yarn install --prefer-offline - - run: yarn build - - run: yarn lint --no-fix + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2.4.0 + - name: Setup Node.js + uses: actions/setup-node@v2.5.1 + with: + cache: "yarn" + - run: yarn install --prefer-offline + - run: yarn build + - run: yarn lint --no-fix diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index a122deb9..2d1ef523 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -1,38 +1,38 @@ name: Docker Multi-Architecture Build on: - push: - paths-ignore: - - "**.md" - branches: - - master + push: + paths-ignore: + - "**.md" + branches: + - master jobs: - build-docker-image: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2.4.0 - with: - fetch-depth: 0 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1.2.0 - with: - platforms: all - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v1.6.0 - with: - version: latest - - name: Login to DockerHub - uses: docker/login-action@v1.12.0 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - name: Build and push - uses: docker/build-push-action@v2.7.0 - with: - context: . - file: ./Dockerfile - platforms: linux/amd64,linux/arm64 - push: true - tags: 1337kavin/piped-frontend:latest + build-docker-image: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2.4.0 + with: + fetch-depth: 0 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1.2.0 + with: + platforms: all + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1.6.0 + with: + version: latest + - name: Login to DockerHub + uses: docker/login-action@v1.12.0 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and push + uses: docker/build-push-action@v2.7.0 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: 1337kavin/piped-frontend:latest diff --git a/.github/workflows/ipfs-build.yml b/.github/workflows/ipfs-build.yml new file mode 100644 index 00000000..d39576d9 --- /dev/null +++ b/.github/workflows/ipfs-build.yml @@ -0,0 +1,29 @@ +name: Build and Deploy + +on: + push: + paths-ignore: + - "**.md" + branches: + - master + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2.4.0 + - name: Setup Node.js + uses: actions/setup-node@v2.5.1 + with: + cache: "yarn" + - run: yarn install --prefer-offline + - run: yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css + - uses: aquiladev/ipfs-action@v0.1.6 + id: ipfs-add + with: + path: ./dist + service: infura + - name: Update DNSLink + run: npx dnslink-cloudflare -d kavin.rocks -l /ipfs/${{ steps.ipfs-add.outputs.hash }} -r _dnslink.piped-ipfs + env: + CF_API_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }} diff --git a/vite.config.js b/vite.config.js index 4f548638..9ad61506 100644 --- a/vite.config.js +++ b/vite.config.js @@ -13,7 +13,34 @@ export default defineConfig({ vueI18n({ include: path.resolve(__dirname, "./src/locales/**"), }), - VitePWA({ registerType: "autoUpdate" }), + VitePWA({ + registerType: "autoUpdate", + workbox: { + globPatterns: ["**/*.{js,css,html,ico,svg,png}", "manifest.webmanifest"], + }, + manifest: { + name: "Piped", + short_name: "Piped", + background_color: "#000000", + theme_color: "#fa4b4b", + icons: [ + { src: "./img/icons/android-chrome-192x192.png", sizes: "192x192", type: "image/png" }, + { src: "./img/icons/android-chrome-512x512.png", sizes: "512x512", type: "image/png" }, + { + src: "./img/icons/android-chrome-maskable-192x192.png", + sizes: "192x192", + type: "image/png", + purpose: "maskable", + }, + { + src: "./img/icons/android-chrome-maskable-512x512.png", + sizes: "512x512", + type: "image/png", + purpose: "maskable", + }, + ], + }, + }), ], resolve: { alias: { diff --git a/vue.config.js b/vue.config.js deleted file mode 100644 index c0825a47..00000000 --- a/vue.config.js +++ /dev/null @@ -1,37 +0,0 @@ -module.exports = { - pwa: { - name: "Piped", - themeColor: "#fa4b4b", - msTileColor: "#000000", - appleMobileWebAppCapable: "yes", - appleMobileWebAppStatusBarStyle: "black", - workboxPluginMode: "GenerateSW", - workboxOptions: { - navigateFallback: "index.html", - skipWaiting: true, - importWorkboxFrom: "local", - runtimeCaching: [ - { - urlPattern: /\.(?:png|svg|ico)$/, - handler: "CacheFirst", - }, - ], - }, - }, - configureWebpack: { - resolve: { - alias: { - "vue-i18n": "vue-i18n/dist/vue-i18n.runtime.esm-bundler.js", - }, - }, - }, - pluginOptions: { - i18n: { - locale: "en", - fallbackLocale: "en", - localeDir: "locales", - fullInstall: true, - enableLegacy: false, - }, - }, -};