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.
levmar-feedstock
Levenberg-Marquardt nonlinear least squares algorithms in C/C++elements-feedstock
The base build framework used by the rest of the components.alexandria-feedstock
A collection of functions used by SourceXtractor++ and Phosphoros.phosphoroscore-feedstock
Core functionality of the template-fitting software Phosphorosphosphoros-feedstock
Graphical User Interface and command line utilities built on top of Phosphorossourcextractor-feedstock
Extraction of catalogs from astronomical images
.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:
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:
elements-project
Extracts project name and version from the mainCMakeLists.txt
file and stores them underproject
andversion
outputs respectively.setup-dependencies
Automatically installs the project requirements using the dependencies specified on theCMakeLists.txt
file (underUSE
), and the list provided on the file specified bydependency-list
.elements-build-rpm
Builds the RPMs.upload-rpm
Uploads the RPMs tohttp://repository.astro.unige.ch/euclid/
, under a directory that depends on the build type (i.e., pull, branch or tags go todevel/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.