Update sync_site.yml
[m6w6/m6w6.github.io] / .github / workflows / sync_site.yml
index 19722ea315574e83b20a0f38bd4e94ce4b4a6789..7f18dca85bd6167bbd97ade2941efebf0ef1b61c 100644 (file)
@@ -1,4 +1,3 @@
-
 name: sync_site
 
 on:
@@ -6,14 +5,30 @@ on:
     workflows: [pages-build-deployment]
     types: [completed]
   
+env:
+  SYNC_SECRET: ${{ secrets.SYNC_SECRET }}
+  SYNC_COMMAND: ${{ secrets.SYNC_COMMAND }}
+
 jobs:
   sync:
     runs-on: ubuntu-latest
     steps:
-      - uses: dawidd6/action-download-artifact@v2
+      - run: umask 0077 && echo "${{ env.SYNC_SECRET }}" >/tmp/sync_secret
+      - uses: actions/github-script@v5
         with:
-          workflow: pages-build-deployment
-          workflow_conclusion: success
-          name: github-pages
-      - run: tar tf artifact.tar
-   
+          script: |
+            const artifact_id = await github.rest.actions.listWorkflowRunArtifacts({
+              owner: context.repo.owner,
+              repo: context.repo.repo,
+              run_id: context.payload.workflow_run.id,
+              per_page: 1,
+            });
+            const artifact = await github.rest.actions.downloadArtifact({
+              owner: context.repo.owner,
+              repo: context.repo.repo,
+              artifact_id: artifact_id.data.artifacts[0].id,
+              archive_format: "zip",
+            });
+            await exec.exec(process.env.SYNC_COMMAND, [], {
+              input: Buffer.from(artifact.data)
+            });