Tag: GitHub

  • GitHub Actions – Cross Repository Event Triggering with Repository Dispatch

    What repository_dispatch can do in this post: When some tasks finish processing in repository A. Send a webhook payload to trigger GitHub Actions in repository B.

    In .github/workflows/build.yml from repository A:

        - name: Notify project-b
          if: github.event_name != 'pull_request'
          run: |
            curl -X POST -H "Accept: application/vnd.github.v3+json" \
              -H "Authorization: Bearer ${{ secrets.PAT_SPARANOID }}" \
              https://api.github.com/repos/sparanoid/project-b/dispatches \
              -d '{"event_type":"webhook"}'

    In .github/workflows/build.yml from repository B:

    name: Build
    
    on:
      # ... other options
      repository_dispatch:
        types:
          - webhook
    
    # ...
    jobs:
      build:
        # do your staff...
  • Composite Actions vs Reusable Workflows | Blogmarks

    There is a lot of overlap between these features and there are certainly some tasks that could be accomplished with either. Simultaneously, there are some important differences that drive a bit of a wedge between them.

    Source: Composite Actions vs Reusable Workflows | Blogmarks

  • Install OneDrive Free Client on Gentoo without Root Permission

    OneDrive Free Client is “a complete tool to interact with OneDrive on Linux”.

    Install the D language compiler:

    curl -fsS https://dlang.org/install.sh | bash -s dmd

    Run the full source command provided by the output of the above install script.

    Download OneDrive Free Client’s source:

    git clone https://github.com/skilion/onedrive.git

    Change to the source directory:

    cd onedrive

    Use the following command to edit the prefix defined in Makefile:

    sed -i 's|/usr/local|/home/username|g' Makefile

    Compile and install OneDrive Free Client:

    make && make install

    Deactivate the source command:

    deactivate

    Add ~/bin to your PATH so that you can run binaries in ~/bin without specifying the path. Ignore this step if you have performed it for a different program.

    echo "PATH=\$HOME/bin:\$PATH" >> ~/.bashrc && source ~/.bashrc

    You can now run OneDrive Free Client with onedrive. To run it in the background, you can use:

    screen -dmS onedrive onedrive -m

    Run the following command to create a sync list, which let onedrive only syncs specific directories:

    vi ~/.config/onedrive/sync_list

    In sync_list (one directory per line):

    Apps/Datasets-1/
    Datasets-Prepare/