GitHub repositories

All of Astrorama’s projects are stored under github.com/astrorama.

For some of them, as Alexandria, Elements and SourceXtractor++, there are private mirrors under Euclid’s GitLab.

However, both Phosphoros and PhosphorosCore GitHub repositories are read-only mirrors of those in GitLab.

Special repositories

astrorama.github.io

Contains this documentation. See About this page for more information.

*-feedstock

*-feedstock repositories contain the recipe needed to build and deploy conda packages for the astrorama software and some of their dependencies.

See Releases / Conda for a step-by-step guide on releasing tagged and development version of our software.

.github

It is a special, organization-wide, configuration repository. For instance, it contains the organization’s README.md file, which is displayed when viewing the organization’s profile:

README.md content on astrorama's profile

It also contains workflow-templates, which can be used to setup actions on new repositories: Actions > New workflow > RPM - Repository (By astrorama). See “Creating starter workflows for your organization” for more information about workflow templates.

actions

Under this repository we store a collection of GitHub actions shared by astrorama’s repositories. At the time of writing, we have 4 actions. We describe them in the order they are expected to be used:

  1. elements-project Extracts project name and version from the main CMakeLists.txt file and stores them under project and version outputs respectively.
  2. setup-dependencies Automatically installs the project requirements using the dependencies specified on the CMakeLists.txt file (under USE), and the list provided on the file specified by dependency-list.
  3. elements-build-rpm Builds the RPMs.
  4. upload-rpm Uploads the RPMs to http://repository.astro.unige.ch/euclid/, under a directory that depends on the build type (i.e., pull, branch or tags go to devel/pull/#number, devel/branch or the root directory respectively).

Here you can see a typical excerpt for the workflow file:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# .github/workflows/main.yml

steps:
  - name: Checkout
    uses: actions/checkout@v3
  - name: Get package name and version
    id: package-version
    uses: astrorama/actions/elements-project@v3.1
  - name: Install dependencies
    uses: astrorama/actions/setup-dependencies@v3.1
    with:
      dependency-list: .github/workflows/dependencies.txt
  - name: Build
    id: build
    uses: astrorama/actions/elements-build-rpm@v3.1
  - name: Upload RPM to repository
    uses: astrorama/actions/upload-rpm@v3.1
    if: ${{ github.repository_owner == 'astrorama' }}
    env:
      REPOSITORY_USER: ${{ secrets.REPOSITORY_USER }}
      REPOSITORY_PASSWORD: ${{ secrets.REPOSITORY_PASSWORD }}
      REPOSITORY_KEY: ${{ secrets.REPOSITORY_KEY }}
    with:
      rpm-dir: ${{ steps.build.outputs.rpm-dir }}
      srpm-dir: ${{ steps.build.outputs.srpm-dir }}

Mirroring of Phosphoros

PhosphorosCore and Phosphoros are read-only on GitHub, except for the user sdc-ch. Mirroring works with GitLab pushing to GitHub automatically on push, using an SSH key generated by GitLab. These public keys are added to sdc-ch.