Skip to content

relinkedin

relinkedin #6

Workflow file for this run

name: relinkedin
permissions:
actions: read
contents: read
on:
schedule:
- cron: '30 12 * * 2'
workflow_dispatch:
jobs:
post:
runs-on: windows-latest
env:
LI_CLIENT_ID: ${{ secrets.LI_CLIENT_ID}}
LI_CLIENT_SECRET: ${{ secrets.LI_CLIENT_SECRET}}
LI_REFRESH_TOKEN: ${{ secrets.LI_REFRESH_TOKEN}}
GITHUB_PAT: ${{ secrets.GH_PAT }}
steps:
- uses: actions/checkout@v4
- name: Fetch the latest successful run ID from linkedin workflow
id: fetch_run_id
shell: pwsh
run: |
$headers = @{
"Authorization" = "token ${{ secrets.GITHUB_TOKEN }}"
}
$uri = "https://api.github.com/repos/rfordatascience/ttpost/actions/workflows/linkedin.yml/runs?status=success&branch=main&per_page=1"
$response = Invoke-RestMethod -Uri $uri -Method Get -Headers $headers
$run_id = $response.workflow_runs[0].id.ToString().Trim()
echo "Latest run ID: $run_id"
echo "RUN_ID=$run_id" | Out-File -FilePath $env:GITHUB_ENV -Append
- name: List artifacts for a workflow run
run: |
$headers = @{
"Authorization" = "Bearer ${{ secrets.GITHUB_TOKEN }}"
"Accept" = "application/vnd.github.v3+json"
}
$uri = "https://api.github.com/repos/rfordatascience/ttpost/actions/runs/${{ env.RUN_ID }}/artifacts"
$response = Invoke-RestMethod -Uri $uri -Method Get -Headers $headers
Write-Output "Artifacts available:"
$response.artifacts | ForEach-Object {
Write-Output "Artifact Name: $($_.name), Artifact ID: $($_.id)"
}
shell: pwsh
- name: Load post ID.
uses: actions/download-artifact@v4
with:
name: li_post_id
run-id: ${{ env.RUN_ID }}
path: li_post_id.rds
- uses: r-lib/actions/setup-r@v2
with:
r-version: 'renv'
- uses: r-lib/actions/setup-renv@v2
with:
cache-version: 2
- name: Repost on LinkedIn.
run: Rscript dslc-relink.R